Beschreibung
Mit der chrome.sockets.udp
API können Sie Daten über das Netzwerk mit UDP-Verbindungen senden und empfangen. Diese API ersetzt die UDP-Funktionen, die zuvor in der „socket“-API enthalten waren.
Manifest
Die folgenden Schlüssel müssen im Manifest deklariert werden, damit diese API verwendet werden kann.
"sockets"
Typen
CreateInfo
Attribute
-
socketId
Zahl
Die ID des neu erstellten Sockets. Hinweis: Socket-IDs, die über diese API erstellt wurden, sind nicht mit Socket-IDs kompatibel, die über andere APIs erstellt wurden, z. B. über die eingestellte
[
socket](../socket/)
API.
DnsQueryType
Einstellungen für die DNS-Auflösung Standardmäßig ist any
festgelegt und die aktuelle Betriebssystemkonfiguration wird verwendet, 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 (auf die aktuelle Puffergröße zugeschnitten).
-
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“ den Wert „0“ hat)
-
resultCode
Zahl
Der vom zugrunde liegenden Netzwerkaufruf zurückgegebene Ergebniscode. Ein negativer Wert weist auf einen Fehler hin.
SocketInfo
Attribute
-
bufferSize
number optional
Die Größe des Buffers, der zum Empfangen von Daten verwendet wird. Wenn keine explizite Puffergröße angegeben wurde, wird kein Wert angegeben.
-
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 mit dem Socket verknüpft ist.
-
pausiert
boolean
Gibt an, ob das Auslösen von onReceive-Ereignissen für den Socket blockiert ist.
-
nichtflüchtige
boolean
Gibt an, ob der Socket geöffnet bleibt, wenn die Anwendung angehalten wird (siehe
SocketProperties.persistent
). -
socketId
Zahl
Die Socket-ID.
SocketProperties
Attribute
-
bufferSize
number optional
Die Größe des Buffers, 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 vom Nutzer definierter String, der mit dem Socket verknüpft ist.
-
nichtflüchtige
boolescher Wert optional
Gibt an, ob der Socket geöffnet bleibt, wenn die Ereignisseite der Anwendung entladen wird (siehe App-Lebenszyklus verwalten). Der Standardwert ist „false“. Wenn die Anwendung geladen wird, können alle Sockets, die zuvor mit „persistent=true“ geöffnet wurden, mit
getSockets
abgerufen werden.
Methoden
bind()
chrome.sockets.udp.bind(
socketId: number,
address: string,
port: number,
callback: function,
)
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 kostenlosen Port auswählen kann.
Sobald der bind
-Vorgang erfolgreich abgeschlossen wurde, werden onReceive
-Ereignisse ausgelöst, wenn UDP-Pakete an der angegebenen Adresse/dem angegebenen Port eintreffen, es sei denn, der Socket ist pausiert.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
Adresse
String
Die Adresse des lokalen Computers. DNS-Namen, 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 an einen kostenlosen Port zu binden.
-
callback
Funktion
Der Parameter
callback
sieht so aus:(result: number) => void
-
Ergebnis
Zahl
Der vom zugrunde liegenden Netzwerkaufruf zurückgegebene Ergebniscode. Ein negativer Wert weist auf einen Fehler hin.
-
close()
chrome.sockets.udp.close(
socketId: number,
callback?: function,
)
Schließt den Socket und gibt die Adresse/den Port frei, an die bzw. 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 nur dann geschlossen, wenn der Rückruf aufgerufen wird.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
callback
function optional
Der Parameter
callback
sieht so aus:() => void
Ausgabe
-
Promise<void>
Chrome 121 und höherVersprechen 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,
)
Erstellt einen UDP-Socket mit den angegebenen Eigenschaften.
Parameter
-
Properties
SocketProperties optional
Die Socket-Eigenschaften (optional).
-
callback
function optional
Der Parameter
callback
sieht so aus:(createInfo: CreateInfo) => void
-
createInfo
Das Ergebnis der Socket-Erstellung.
-
Ausgabe
-
Promise<CreateInfo>
Chrome 121 und höherVersprechen 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,
)
Ruft den Status des angegebenen Sockets ab.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
callback
function optional
Der Parameter
callback
sieht so aus:(socketInfo: SocketInfo) => void
-
socketInfo
Objekt mit den Socket-Informationen.
-
Ausgabe
-
Promise<SocketInfo>
Chrome 121 und höherVersprechen 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,
)
Ruft die Multicast-Gruppenadressen ab, mit denen der Socket derzeit verbunden ist.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
callback
function optional
Der Parameter
callback
sieht so aus:(groups: string[]) => void
-
Gruppen
String[]
Array der Gruppen, denen der Socket beigetreten ist.
-
Ausgabe
-
Promise<string[]>
Chrome 121 und höherVersprechen 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,
)
Ruft die Liste der derzeit geöffneten Sockets ab, die der Anwendung gehören.
Parameter
-
callback
function optional
Der Parameter
callback
sieht so aus:(socketInfos: SocketInfo[]) => void
-
socketInfos
Array von Objekten mit Socket-Informationen.
-
Ausgabe
-
Promise<SocketInfo[]>
Chrome 121 und höherVersprechen 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,
)
Tritt der Multicast-Gruppe bei und empfängt Pakete von dieser Gruppe. Der Socket muss vor dem Aufrufen dieser Methode an einen lokalen Port gebunden sein.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
Adresse
String
Die Adresse der Gruppe, der Sie beitreten möchten. Domainnamen werden nicht unterstützt.
-
callback
Funktion
Der Parameter
callback
sieht so aus:(result: number) => void
-
Ergebnis
Zahl
Der vom zugrunde liegenden Netzwerkaufruf zurückgegebene Ergebniscode. Ein negativer Wert weist auf einen Fehler hin.
-
leaveGroup()
chrome.sockets.udp.leaveGroup(
socketId: number,
address: string,
callback: function,
)
Verlassen der Multicast-Gruppe, der Sie zuvor mit joinGroup
beigetreten sind. Dieser Aufruf ist nur erforderlich, wenn Sie den Socket danach weiterverwenden möchten. Andernfalls wird er vom Betriebssystem automatisch geschlossen.
Wenn die Gruppe verlassen wird, verhindert der Router das Senden von Multicast-Datagrammen an den lokalen Host, vorausgesetzt, kein anderer Prozess auf dem Host ist noch mit der Gruppe verbunden.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
Adresse
String
Die Gruppenadresse, die Sie verlassen möchten. Domainnamen werden nicht unterstützt.
-
callback
Funktion
Der Parameter
callback
sieht so aus:(result: number) => void
-
Ergebnis
Zahl
Der vom zugrunde liegenden Netzwerkaufruf zurückgegebene Ergebniscode. 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,
)
Sendet Daten über den angegebenen Socket an die angegebene Adresse und den angegebenen Port. Der Socket muss vor dem Aufrufen dieser Methode an einen lokalen Port gebunden sein.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
Daten
ArrayBuffer
Die zu sendenden Daten.
-
Adresse
String
Die Adresse des Remote-Rechners.
-
Port
Zahl
Der Port des Remotecomputers.
-
dnsQueryType
DnsQueryType optional
Chrome 103 und höherDie Einstellung für die Adressauflösung.
-
callback
Funktion
Der Parameter
callback
sieht so aus:(sendInfo: SendInfo) => void
-
sendInfo
Ergebnis der
send
-Methode.
-
setBroadcast()
chrome.sockets.udp.setBroadcast(
socketId: number,
enabled: boolean,
callback: function,
)
Aktiviert oder deaktiviert Broadcast-Pakete an diesem Socket.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
aktiviert
boolean
true
, um Broadcast-Pakete zu aktivieren, oderfalse
, um sie zu deaktivieren. -
callback
Funktion
Der Parameter
callback
sieht so aus:(result: number) => void
-
Ergebnis
Zahl
Der vom zugrunde liegenden Netzwerkaufruf zurückgegebene Ergebniscode.
-
setMulticastLoopbackMode()
chrome.sockets.udp.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
)
Legt fest, ob Multicast-Pakete, die vom Host an die Multicast-Gruppe gesendet werden, an den Host zurückgesendet werden.
Hinweis: Das Verhalten von setMulticastLoopbackMode
unterscheidet sich geringfügig zwischen Windows- und Unix-ähnlichen Systemen. Die Inkonsistenz tritt nur auf, wenn sich auf demselben Host mehrere Anwendungen befinden, die derselben Multicast-Gruppe bei unterschiedlichen Einstellungen für den Multicast-Loopback-Modus beigetreten sind. Unter Windows empfangen Anwendungen ohne Loopback-Funktion die Loopback-Pakete nicht. Unter Unix-ähnlichen Systemen senden Anwendungen ohne Loopback-Funktion die Loopback-Pakete nicht an andere Anwendungen auf demselben Host. Weitere Informationen finden Sie in der MSDN-Bibliothek unter http://goo.gl/6vqbj.
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
callback
sieht so aus:(result: number) => void
-
Ergebnis
Zahl
Der vom zugrunde liegenden Netzwerkaufruf zurückgegebene Ergebniscode. Ein negativer Wert weist auf einen Fehler hin.
-
setMulticastTimeToLive()
chrome.sockets.udp.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
)
Legt die Lebensdauer 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 Gültigkeitszeitraum.
-
callback
Funktion
Der Parameter
callback
sieht so aus:(result: number) => void
-
Ergebnis
Zahl
Der vom zugrunde liegenden Netzwerkaufruf zurückgegebene Ergebniscode. Ein negativer Wert weist auf einen Fehler hin.
-
setPaused()
chrome.sockets.udp.setPaused(
socketId: number,
paused: boolean,
callback?: function,
)
Pausiert oder hebt die Pausierung eines Sockets auf. Ein pausierter Socket kann keine onReceive
-Ereignisse auslösen.
Parameter
-
socketId
Zahl
-
pausiert
boolean
Gibt an, ob die Wiedergabe pausiert oder fortgesetzt werden soll.
-
callback
function optional
Der Parameter
callback
sieht so aus:() => void
Ausgabe
-
Promise<void>
Chrome 121 und höherVersprechen 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,
)
Aktualisiert die Socket-Eigenschaften.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
Properties
Die zu aktualisierenden Properties.
-
callback
function optional
Der Parameter
callback
sieht so aus:() => void
Ausgabe
-
Promise<void>
Chrome 121 und höherVersprechen 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
callback
sieht so aus:(info: ReceiveInfo) => void
-
Info
-
onReceiveError
chrome.sockets.udp.onReceiveError.addListener(
callback: function,
)
Dieses Ereignis wird ausgelöst, wenn ein Netzwerkfehler auftritt, während die Laufzeit auf Daten an der Socket-Adresse und dem Port wartet. 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
callback
sieht so aus:(info: ReceiveErrorInfo) => void
-
Info
-