Beschreibung
Verwenden Sie die chrome.sockets.udp API, um Daten über das Netzwerk mithilfe von UDP-Verbindungen zu senden und zu empfangen. Diese API ersetzt die UDP-Funktionalität, die zuvor in der „socket“-API enthalten war.
Manifest
Typen
CreateInfo
Attribute
-
socketId
Zahl
Die ID des neu erstellten Sockets. Beachten Sie, dass Socket-IDs, die über diese API erstellt wurden, nicht mit Socket-IDs kompatibel sind, die über andere APIs erstellt wurden, z. B. die verworfene
[socket](../socket/)API.
DnsQueryType
Einstellungen für die DNS-Auflösung. Der Standardwert ist any und verwendet die aktuelle Betriebssystemkonfiguration, die IPv4 oder IPv6 zurückgeben kann. ipv4 erzwingt IPv4 und ipv6 erzwingt IPv6.
Enum
"any"
"ipv4"
"ipv6"
ReceiveErrorInfo
Attribute
-
resultCode
Zahl
Der vom zugrunde liegenden recvfrom()-Aufruf zurückgegebene Ergebniscode.
-
socketId
Zahl
Die Socket-ID.
ReceiveInfo
Attribute
-
Daten
ArrayBuffer
Der Inhalt des UDP-Pakets (gekürzt auf die aktuelle Puffergröße).
-
remoteAddress
String
Die Adresse des Hosts, von dem das Paket stammt.
-
remotePort
Zahl
Der Port des Hosts, von dem das Paket stammt.
-
socketId
Zahl
Die Socket-ID.
SendInfo
Attribute
-
bytesSent
number optional
Die Anzahl der gesendeten Byte (wenn „result“ == 0)
-
resultCode
Zahl
Der Ergebniscode, der vom zugrunde liegenden Netzwerkaufruf zurückgegeben wird. Ein negativer Wert weist auf einen Fehler hin.
SocketInfo
Attribute
-
bufferSize
number optional
Die Größe des Puffers, der zum Empfangen von Daten verwendet wird. Wenn keine Puffergröße explizit angegeben wurde, wird der Wert nicht bereitgestellt.
-
localAddress
String optional
Wenn der zugrunde liegende Socket gebunden ist, enthält er seine lokale IPv4/6-Adresse.
-
localPort
number optional
Wenn der zugrunde liegende Socket gebunden ist, enthält er seinen lokalen Port.
-
name
String optional
Anwendungsdefinierter String, der dem Socket zugeordnet ist.
-
pausiert
boolean
Flag, das angibt, ob der Socket daran gehindert wird, onReceive-Ereignisse auszulösen.
-
nichtflüchtige
boolean
Flag, das angibt, ob der Socket geöffnet bleibt, wenn die Anwendung gesperrt wird (siehe
SocketProperties.persistent). -
socketId
Zahl
Die Socket-ID.
SocketProperties
Attribute
-
bufferSize
number optional
Die Größe des Puffers, der zum Empfangen von Daten verwendet wird. Wenn der Puffer zu klein ist, um das UDP-Paket zu empfangen, gehen Daten verloren. Der Standardwert ist 4096.
-
name
String optional
Ein anwendungsdefinierter String, der dem Socket zugeordnet ist.
-
nichtflüchtige
Boolesch optional
Flag, das angibt, ob der Socket geöffnet bleibt, wenn die Ereignisseite der Anwendung entladen wird (siehe Anwendungslebenszyklus verwalten). Der Standardwert lautet „false“. Wenn die Anwendung geladen wird, können alle zuvor mit „persistent=true“ geöffneten Sockets mit
getSocketsabgerufen werden.
Methoden
bind()
chrome.sockets.udp.bind(
socketId: number,
address: string,
port: number,
callback: function,
): void
Bindet die lokale Adresse und den Port für den Socket. Für einen Client-Socket wird empfohlen, Port 0 zu verwenden, damit die Plattform einen verfügbaren Port auswählen kann.
Sobald der Vorgang bind erfolgreich abgeschlossen wurde, werden onReceive-Ereignisse ausgelöst, wenn UDP-Pakete an der angegebenen Adresse bzw. am angegebenen Port ankommen, sofern der Socket nicht pausiert ist.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
Adresse
String
Die Adresse des lokalen Computers. DNS-Namen sowie IPv4- und IPv6-Formate werden unterstützt. Verwenden Sie „0.0.0.0“, um Pakete von allen lokal verfügbaren Netzwerkschnittstellen zu akzeptieren.
-
Port
Zahl
Der Port des lokalen Computers. Verwenden Sie „0“, um eine Bindung an einen verfügbaren Port herzustellen.
-
callback
Funktion
Der Parameter
callbacksieht so aus:(result: number) => void
-
Ergebnis
Zahl
Der Ergebniscode, der vom zugrunde liegenden Netzwerkaufruf zurückgegeben wird. Ein negativer Wert weist auf einen Fehler hin.
-
close()
chrome.sockets.udp.close(
socketId: number,
callback?: function,
): Promise<void>
Schließt den Socket und gibt die Adresse/den Port frei, an die/den der Socket gebunden ist. Jeder erstellte Socket sollte nach der Verwendung geschlossen werden. Die Socket-ID ist nicht mehr gültig, sobald die Funktion aufgerufen wird. Der Socket wird jedoch garantiert erst geschlossen, wenn der Callback aufgerufen wird.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
callback
function optional
Der Parameter
callbacksieht so aus:() => void
Ausgabe
-
Promise<void>
Chrome 121 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
create()
chrome.sockets.udp.create(
properties?: SocketProperties,
callback?: function,
): Promise<CreateInfo>
Erstellt einen UDP-Socket mit den angegebenen Attributen.
Parameter
-
Properties
SocketProperties optional
Die Socket-Attribute (optional).
-
callback
function optional
Der Parameter
callbacksieht so aus:(createInfo: CreateInfo) => void
-
createInfo
Das Ergebnis der Socket-Erstellung.
-
Ausgabe
-
Promise<CreateInfo>
Chrome 121 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
getInfo()
chrome.sockets.udp.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
Ruft den Status des angegebenen Sockets ab.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
callback
function optional
Der Parameter
callbacksieht so aus:(socketInfo: SocketInfo) => void
-
socketInfo
Objekt mit den Socket-Informationen.
-
Ausgabe
-
Promise<SocketInfo>
Chrome 121 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
getJoinedGroups()
chrome.sockets.udp.getJoinedGroups(
socketId: number,
callback?: function,
): Promise<string[]>
Ruft die Multicast-Gruppenadressen ab, mit denen der Socket derzeit verbunden ist.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
callback
function optional
Der Parameter
callbacksieht so aus:(groups: string[]) => void
-
Gruppen
String[]
Array von Gruppen, denen der Socket beigetreten ist.
-
Ausgabe
-
Promise<string[]>
Chrome 121 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
getSockets()
chrome.sockets.udp.getSockets(
callback?: function,
): Promise<SocketInfo[]>
Ruft die Liste der derzeit geöffneten Sockets ab, die zur Anwendung gehören.
Parameter
-
callback
function optional
Der Parameter
callbacksieht so aus:(socketInfos: SocketInfo[]) => void
-
socketInfos
Array von Objekten mit Socket-Informationen.
-
Ausgabe
-
Promise<SocketInfo[]>
Chrome 121 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
joinGroup()
chrome.sockets.udp.joinGroup(
socketId: number,
address: string,
callback: function,
): void
Tritt der Multicast-Gruppe bei und beginnt, Pakete von dieser Gruppe zu empfangen. Der Socket muss vor dem Aufruf dieser Methode an einen lokalen Port gebunden werden.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
Adresse
String
Die Gruppenadresse, der Sie beitreten möchten. Domainnamen werden nicht unterstützt.
-
callback
Funktion
Der Parameter
callbacksieht so aus:(result: number) => void
-
Ergebnis
Zahl
Der Ergebniscode, der vom zugrunde liegenden Netzwerkaufruf zurückgegeben wird. Ein negativer Wert weist auf einen Fehler hin.
-
leaveGroup()
chrome.sockets.udp.leaveGroup(
socketId: number,
address: string,
callback: function,
): void
Verlässt die Multicast-Gruppe, der zuvor mit joinGroup beigetreten wurde. Dies ist nur erforderlich, wenn Sie den Socket danach weiter verwenden möchten, da dies automatisch vom Betriebssystem erledigt wird, wenn der Socket geschlossen wird.
Wenn Sie die Gruppe verlassen, sendet der Router keine Multicast-Datagramme mehr an den lokalen Host, sofern kein anderer Prozess auf dem Host noch der Gruppe angehört.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
Adresse
String
Die Adresse der Gruppe, die Sie verlassen möchten. Domainnamen werden nicht unterstützt.
-
callback
Funktion
Der Parameter
callbacksieht so aus:(result: number) => void
-
Ergebnis
Zahl
Der Ergebniscode, der vom zugrunde liegenden Netzwerkaufruf zurückgegeben wird. Ein negativer Wert weist auf einen Fehler hin.
-
send()
chrome.sockets.udp.send(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
dnsQueryType?: DnsQueryType,
callback: function,
): void
Sendet Daten über den angegebenen Socket an die angegebene Adresse und den angegebenen Port. Der Socket muss vor dem Aufruf dieser Methode an einen lokalen Port gebunden werden.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
Daten
ArrayBuffer
Die zu sendenden Daten.
-
Adresse
String
Die Adresse des Remote-Computers.
-
Port
Zahl
Der Port des Remote-Computers.
-
dnsQueryType
DnsQueryType optional
Chrome 103 oder höherDie Einstellung für die Adressauflösung.
-
callback
Funktion
Der Parameter
callbacksieht so aus:(sendInfo: SendInfo) => void
-
sendInfo
Ergebnis der Methode
send.
-
setBroadcast()
chrome.sockets.udp.setBroadcast(
socketId: number,
enabled: boolean,
callback: function,
): void
Aktiviert oder deaktiviert Broadcast-Pakete auf diesem Socket.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
aktiviert
boolean
true, um Broadcast-Pakete zu aktivieren,false, um sie zu deaktivieren. -
callback
Funktion
Der Parameter
callbacksieht so aus:(result: number) => void
-
Ergebnis
Zahl
Der Ergebniscode, der vom zugrunde liegenden Netzwerkaufruf zurückgegeben wird.
-
setMulticastLoopbackMode()
chrome.sockets.udp.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
): void
Legt fest, ob Multicast-Pakete, die vom Host an die Multicast-Gruppe gesendet werden, an den Host zurückgeleitet werden.
Hinweis: Das Verhalten von setMulticastLoopbackMode unterscheidet sich geringfügig zwischen Windows- und Unix-ähnlichen Systemen. Die Inkonsistenz tritt nur auf, wenn mehr als eine Anwendung auf demselben Host derselben Multicast-Gruppe beigetreten ist und unterschiedliche Einstellungen für den Multicast-Loopback-Modus hat. Unter Windows EMPFANGEN die Anwendungen mit deaktiviertem Loopback die Loopback-Pakete nicht. Auf Unix-ähnlichen Systemen SENDEN die Anwendungen mit deaktiviertem Loopback die Loopback-Pakete nicht an andere Anwendungen auf demselben Host. Siehe MSDN: https://learn.microsoft.com/en-us/windows/win32/winsock/ip-multicast-2
Für den Aufruf dieser Methode sind keine Multicast-Berechtigungen erforderlich.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
aktiviert
boolean
Geben Sie an, ob der Loopback-Modus aktiviert werden soll.
-
callback
Funktion
Der Parameter
callbacksieht so aus:(result: number) => void
-
Ergebnis
Zahl
Der Ergebniscode, der vom zugrunde liegenden Netzwerkaufruf zurückgegeben wird. Ein negativer Wert weist auf einen Fehler hin.
-
setMulticastTimeToLive()
chrome.sockets.udp.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
): void
Legt die Gültigkeitsdauer (Time-to-Live) von Multicast-Paketen fest, die an die Multicast-Gruppe gesendet werden.
Für den Aufruf dieser Methode sind keine Multicast-Berechtigungen erforderlich.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
ttl
Zahl
Der Wert für die Gültigkeitsdauer.
-
callback
Funktion
Der Parameter
callbacksieht so aus:(result: number) => void
-
Ergebnis
Zahl
Der Ergebniscode, der vom zugrunde liegenden Netzwerkaufruf zurückgegeben wird. Ein negativer Wert weist auf einen Fehler hin.
-
setPaused()
chrome.sockets.udp.setPaused(
socketId: number,
paused: boolean,
callback?: function,
): Promise<void>
Pausiert einen Socket oder hebt die Pausierung auf. Ein pausierter Socket kann keine onReceive-Ereignisse auslösen.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
pausiert
boolean
Flag, das angibt, ob die Pausierung aktiviert oder aufgehoben werden soll.
-
callback
function optional
Der Parameter
callbacksieht so aus:() => void
Ausgabe
-
Promise<void>
Chrome 121 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
update()
chrome.sockets.udp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
): Promise<void>
Aktualisiert die Socket-Attribute.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
Properties
Die zu aktualisierenden Attribute.
-
callback
function optional
Der Parameter
callbacksieht so aus:() => void
Ausgabe
-
Promise<void>
Chrome 121 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
Ereignisse
onReceive
chrome.sockets.udp.onReceive.addListener(
callback: function,
)
Ereignis, das ausgelöst wird, wenn ein UDP-Paket für den angegebenen Socket empfangen wurde.
Parameter
-
callback
Funktion
Der Parameter
callbacksieht so aus:(info: ReceiveInfo) => void
-
Info
-
onReceiveError
chrome.sockets.udp.onReceiveError.addListener(
callback: function,
)
Ereignis, das ausgelöst wird, wenn ein Netzwerkfehler aufgetreten ist, während die Laufzeit auf Daten an der Socket-Adresse und am Port gewartet hat. Sobald dieses Ereignis ausgelöst wird, wird der Socket pausiert und es werden keine weiteren onReceive-Ereignisse für diesen Socket ausgelöst, bis er fortgesetzt wird.
Parameter
-
callback
Funktion
Der Parameter
callbacksieht so aus:(info: ReceiveErrorInfo) => void
-
Info
-