Beschreibung
Mit der chrome.sockets.udp
API können Sie über UDP-Verbindungen Daten über das Netzwerk senden und empfangen. Diese API ersetzt die bisher in der „Socket“ API vorhandene UDP-Funktion.
Manifest
Die folgenden Schlüssel müssen im Manifest deklariert werden, um diese API verwenden zu können.
"sockets"
Typen
CreateInfo
Attribute
-
socketId
Zahl
Die ID des neu erstellten Sockets. Beachten Sie, dass die von dieser API erstellten Socket-IDs nicht mit Socket-IDs kompatibel sind, die von anderen APIs erstellt wurden, z. B. der verworfenen
[
Socket](../socket/)
API.
DnsQueryType
Einstellungen für die DNS-Auflösung. Der Standardwert ist any
und verwendet die aktuelle Betriebssystemkonfiguration, die möglicherweise IPv4 oder IPv6 zurückgibt. ipv4
erzwingt IPv4 und ipv6
erzwingt IPv6.
Enum
"ipv4"
"ipv6"
ReceiveErrorInfo
Attribute
-
resultCode
Zahl
Der Ergebniscode, der vom zugrunde liegenden recvfrom()-Aufruf zurückgegeben wurde.
-
socketId
Zahl
Die Socket-ID.
ReceiveInfo
Attribute
-
Daten
ArrayBuffer
Der Inhalt des UDP-Pakets (auf die aktuelle Puffergröße gekürzt).
-
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
Nummer optional
Die Anzahl der gesendeten Byte (wenn Ergebnis == 0)
-
resultCode
Zahl
Der Ergebniscode, der vom zugrunde liegenden Netzwerkaufruf zurückgegeben wurde. Ein negativer Wert weist auf einen Fehler hin.
SocketInfo
Attribute
-
bufferSize
Nummer optional
Die Größe des Zwischenspeichers, der zum Empfangen von Daten verwendet wird. Wenn nicht explizit keine Puffergröße angegeben wurde, wird kein Wert angegeben.
-
localAddress
String optional
Enthält seine lokale IPv4/6-Adresse, wenn der zugrunde liegende Socket gebunden ist.
-
localPort
Nummer optional
Enthält seinen lokalen Port, wenn der zugrunde liegende Socket gebunden ist.
-
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 ist, wenn die Anwendung angehalten wird (siehe
SocketProperties.persistent
). -
socketId
Zahl
Die Socket-ID.
SocketProperties
Attribute
-
bufferSize
Nummer optional
Die Größe des Zwischenspeichers, der zum Empfangen von Daten verwendet wird. Wenn der Zwischenspeicher zu klein ist, um das UDP-Paket zu empfangen, gehen die Daten verloren. Der Standardwert ist 4096.
-
name
String optional
Ein anwendungsdefinierter String, der dem Socket zugeordnet ist.
-
nichtflüchtige
Boolescher Wert optional
Flag, das angibt, ob der Socket geöffnet ist, wenn die Ereignisseite der App 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.
Wenn der bind
-Vorgang erfolgreich abgeschlossen wurde, werden onReceive
-Ereignisse ausgelöst, wenn UDP-Pakete an der angegebenen Adresse/am angegebenen Port ankommen – es sei denn, der Socket wird pausiert.
Parameters
-
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 eine Bindung an einen kostenlosen Port vorzunehmen.
-
callback
Funktion
Der Parameter
callback
sieht so aus:(result: number) => void
-
Ergebnis
Zahl
Der Ergebniscode, der vom zugrunde liegenden Netzwerkaufruf zurückgegeben wurde. 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 bzw. den Port frei, an 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 garantiert, wenn der Callback aufgerufen wird.
Parameters
-
socketId
Zahl
Die Socket-ID.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Rückgaben
-
Promise<void>
Chrome 121 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
create()
chrome.sockets.udp.create(
properties?: SocketProperties,
callback?: function,
)
Erstellt einen UDP-Socket mit den angegebenen Attributen.
Parameters
-
Properties
SocketProperties optional
Die Socket-Eigenschaften (optional).
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(createInfo: CreateInfo) => void
-
createInfo
Das Ergebnis der Socket-Erstellung.
-
Rückgaben
-
Promise<CreateInfo>
Chrome 121 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
getInfo()
chrome.sockets.udp.getInfo(
socketId: number,
callback?: function,
)
Ruft den Status des angegebenen Sockets ab.
Parameters
-
socketId
Zahl
Die Socket-ID.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(socketInfo: SocketInfo) => void
-
socketInfo
Objekt mit den Socket-Informationen.
-
Rückgaben
-
Promise<SocketInfo>
Chrome 121 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
getJoinedGroups()
chrome.sockets.udp.getJoinedGroups(
socketId: number,
callback?: function,
)
Ruft die Adressen der Multicast-Gruppe ab, mit denen der Socket derzeit verknüpft ist.
Parameters
-
socketId
Zahl
Die Socket-ID.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(groups: string[]) => void
-
Gruppen
String[]
Array der Gruppen, die mit dem Socket verbunden wurden.
-
Rückgaben
-
Versprechen<string[]>
Chrome 121 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
getSockets()
chrome.sockets.udp.getSockets(
callback?: function,
)
Ruft die Liste der aktuell geöffneten Sockets ab, die der Anwendung gehören.
Parameters
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(socketInfos: SocketInfo[]) => void
-
socketInfos
Array eines Objekts mit Socket-Informationen.
-
Rückgaben
-
Promise<SocketInfo[]>
Chrome 121 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
joinGroup()
chrome.sockets.udp.joinGroup(
socketId: number,
address: string,
callback: function,
)
Tritt der Multicast-Gruppe bei und beginnt, Pakete von dieser Gruppe zu empfangen. Der Socket muss vor dem Aufrufen dieser Methode an einen lokalen Port gebunden sein.
Parameters
-
socketId
Zahl
Die Socket-ID.
-
Adresse
String
Die Gruppenadresse, der Sie beitreten möchten. Domainnamen werden nicht unterstützt.
-
callback
Funktion
Der Parameter
callback
sieht so aus:(result: number) => void
-
Ergebnis
Zahl
Der Ergebniscode, der vom zugrunde liegenden Netzwerkaufruf zurückgegeben wurde. Ein negativer Wert weist auf einen Fehler hin.
-
leaveGroup()
chrome.sockets.udp.leaveGroup(
socketId: number,
address: string,
callback: function,
)
Verlässt die zuvor über joinGroup
beigetretene Multicast-Gruppe. Dies ist nur erforderlich, wenn Sie den Socket danach weiter verwenden möchten, da dies vom Betriebssystem automatisch erfolgt, wenn das Socket geschlossen ist.
Wenn Sie die Gruppe verlassen, kann der Router keine Multicast-Datagramme an den lokalen Host senden, vorausgesetzt, kein anderer Prozess auf dem Host ist noch mit der Gruppe verbunden.
Parameters
-
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 Ergebniscode, der vom zugrunde liegenden Netzwerkaufruf zurückgegeben wurde. 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.
Parameters
-
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 und höherDie Einstellung für die Adressauflösung.
-
callback
Funktion
Der Parameter
callback
sieht so aus:(sendInfo: SendInfo) => void
-
sendInfo
Ergebnis der Methode
send
.
-
setBroadcast()
chrome.sockets.udp.setBroadcast(
socketId: number,
enabled: boolean,
callback: function,
)
Aktiviert oder deaktiviert Broadcast-Pakete auf diesem Socket.
Parameters
-
socketId
Zahl
Die Socket-ID.
-
aktiviert
boolean
true
, um Broadcast-Pakete zu aktivieren,false
, um sie zu deaktivieren. -
callback
Funktion
Der Parameter
callback
sieht so aus:(result: number) => void
-
Ergebnis
Zahl
Der Ergebniscode, der vom zugrunde liegenden Netzwerkaufruf zurückgegeben wurde.
-
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, zurück an den Host geleitet werden.
Hinweis: Das Verhalten von setMulticastLoopbackMode
unterscheidet sich geringfügig zwischen Windows- und Unix-ähnlichen Systemen. Die Inkonsistenz tritt nur auf, wenn mehrere Anwendungen auf demselben Host mit derselben Multicast-Gruppe verbunden sind, aber unterschiedliche Einstellungen für den Multicast-Loopback-Modus festgelegt sind. Unter Windows empfangen Anwendungen, bei denen Loopback deaktiviert ist, keine Loopback-Pakete. Auf Unix-ähnlichen Systemen senden die Anwendungen, bei denen Loopback deaktiviert ist, die Loopback-Pakete nicht an andere Anwendungen auf demselben Host. Siehe MSDN: http://goo.gl/6vqbj
Für das Aufrufen dieser Methode sind keine Multicast-Berechtigungen erforderlich.
Parameters
-
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 Ergebniscode, der vom zugrunde liegenden Netzwerkaufruf zurückgegeben wurde. Ein negativer Wert weist auf einen Fehler hin.
-
setMulticastTimeToLive()
chrome.sockets.udp.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
)
Legt die Gültigkeitsdauer von Multicast-Paketen fest, die an die Multicast-Gruppe gesendet werden.
Für das Aufrufen dieser Methode sind keine Multicast-Berechtigungen erforderlich.
Parameters
-
socketId
Zahl
Die Socket-ID.
-
ttl
Zahl
Wert der Gültigkeitsdauer.
-
callback
Funktion
Der Parameter
callback
sieht so aus:(result: number) => void
-
Ergebnis
Zahl
Der Ergebniscode, der vom zugrunde liegenden Netzwerkaufruf zurückgegeben wurde. 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 wird daran gehindert, onReceive
-Ereignisse auszulösen.
Parameters
-
socketId
Zahl
-
pausiert
boolean
Flag, das angibt, ob die Pausierung aufgehoben oder die Pausierung aufgehoben werden soll.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Rückgaben
-
Promise<void>
Chrome 121 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
update()
chrome.sockets.udp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
)
Aktualisiert die Socket-Attribute.
Parameters
-
socketId
Zahl
Die Socket-ID.
-
Properties
Die zu aktualisierenden Attribute.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Rückgaben
-
Promise<void>
Chrome 121 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
Veranstaltungen
onReceive
chrome.sockets.udp.onReceive.addListener(
callback: function,
)
Ereignis, das ausgelöst wird, wenn ein UDP-Paket für den angegebenen Socket empfangen wurde.
Parameters
-
callback
Funktion
Der Parameter
callback
sieht 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 zur Socket-Adresse und zum Port gewartet hat. Sobald dieses Ereignis ausgelöst wird, wird das Socket pausiert. Es werden keine onReceive
-Ereignisse mehr für dieses Socket ausgelöst, bis das Socket fortgesetzt wird.
Parameters
-
callback
Funktion
Der Parameter
callback
sieht so aus:(info: ReceiveErrorInfo) => void
-
Info
-