Beschreibung
Mit der chrome.sockets.udp
API können Sie Daten mithilfe von UDP-Verbindungen über das Netzwerk senden und empfangen. Diese API ersetzt die UDP-Funktion, die zuvor im „Socket“ zu finden war. der API erstellen.
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 Socket-IDs, die von dieser API erstellt wurden, nicht mit Socket-IDs kompatibel sind, die aus anderen APIs wie der verworfenen
[
Socket](../socket/)
API erstellt wurden.
DnsQueryType
DNS-Auflösungseinstellungen. Die Standardeinstellung ist any
und verwendet die aktuelle Betriebssystemkonfiguration, die möglicherweise IPv4 oder IPv6 zurückgibt. ipv4
erzwingt IPv4 und ipv6
erzwingt IPv6.
Enum
"alle"
"ipv4"
"ipv6"
ReceiveErrorInfo
Attribute
-
resultCode
Zahl
Der Ergebniscode, der vom zugrunde liegenden recvfrom()-Aufruf zurückgegeben wird.
-
socketId
Zahl
Die Socket-ID.
ReceiveInfo
Attribute
-
Daten
ArrayBuffer
Der Inhalt des UDP-Pakets (auf die aktuelle Zwischenspeichergröß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
Zahl optional
Die Anzahl der gesendeten Byte (falls Ergebnis == 0)
-
resultCode
Zahl
Der Ergebniscode, der vom zugrunde liegenden Netzwerkaufruf zurückgegeben wird. Ein negativer Wert weist auf einen Fehler hin.
SocketInfo
Attribute
-
bufferSize
Zahl optional
Die Größe des Zwischenspeichers, der für den Empfang von Daten verwendet wird. Wenn keine Puffergröße explizit angegeben wurde, wird der Wert nicht angegeben.
-
localAddress
String optional
Wenn der zugrunde liegende Socket gebunden ist, enthält er seine lokale IPv4/6-Adresse.
-
localPort
Zahl 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 ausgesetzt wird (siehe
SocketProperties.persistent
). -
socketId
Zahl
Die Socket-ID.
SocketProperties
Attribute
-
bufferSize
Zahl optional
Die Größe des Zwischenspeichers, der für den Empfang von Daten verwendet wird. Wenn der Zwischenspeicher zu klein ist, um das UDP-Paket zu empfangen, gehen die Daten verloren. Der Standardwert ist 4.096.
-
Name
String optional
Ein anwendungsdefinierter String, der dem Socket zugeordnet ist.
-
nichtflüchtige
Boolescher Wert optional
Flag, das angibt, 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.
Nach erfolgreichem Abschluss des bind
-Vorgangs werden onReceive
-Ereignisse ausgelöst, wenn UDP-Pakete an der angegebenen Adresse bzw. dem angegebenen Port ankommen – es sei denn, der Socket ist pausiert.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
Adresse
String
Die Adresse des lokalen Computers. Die Formate DNS-Name, IPv4 und IPv6 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“ an einen kostenlosen Port zu binden.
-
callback
Funktion
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>(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,
)
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. Allerdings wird der Socket nur dann garantiert geschlossen, wenn der Callback aufgerufen wird.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>() => void
Gibt Folgendes zurück:
-
Versprechen<void>
Chrome 121 oder höherPromise-Objekte 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 Attributen.
Parameter
-
Properties
SocketProperties – optional
Die Socket-Eigenschaften (optional).
-
callback
Funktion optional
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>(createInfo: CreateInfo) => void
-
createInfo
Das Ergebnis der Socket-Erstellung.
-
Gibt Folgendes zurück:
-
Promise<CreateInfo>
Chrome 121 oder höherPromise-Objekte 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
Funktion optional
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>(socketInfo: SocketInfo) => void
-
socketInfo
Objekt, das die Socket-Informationen enthält.
-
Gibt Folgendes zurück:
-
Promise<SocketInfo>
Chrome 121 oder höherPromise-Objekte 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-Gruppenadresse ab, der der Socket derzeit zugewiesen ist.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>(groups: string[]) => void
-
Gruppen
String[]
Array von Gruppen, die mit dem Socket verbunden sind.
-
Gibt Folgendes zurück:
-
Promise<string[]>
Chrome 121 oder höherPromise-Objekte 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 aktuell geöffneten Sockets ab, die der Anwendung gehören.
Parameter
-
callback
Funktion optional
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>(socketInfos: SocketInfo[]) => void
-
socketInfos
Array eines Objekts mit Socket-Informationen.
-
Gibt Folgendes zurück:
-
Promise<SocketInfo[]>
Chrome 121 oder höherPromise-Objekte 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 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 E-Mail-Adresse der Gruppe, der Sie beitreten möchten. Domainnamen werden nicht unterstützt.
-
callback
Funktion
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>(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,
)
Verlässt die Multicast-Gruppe, der zuvor mit joinGroup
beigetreten ist. Dieser Aufruf ist nur erforderlich, wenn Sie den Socket danach weiterhin verwenden möchten, da dies automatisch vom Betriebssystem durchgeführt wird, wenn der Socket geschlossen wird.
Durch das Verlassen der Gruppe wird verhindert, dass der Router Multicast-Datagramme an den lokalen Host sendet, vorausgesetzt, dass kein anderer Prozess auf dem Host noch der Gruppe beigetreten ist.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
Adresse
String
Die Gruppenadresse, die verlassen werden soll. Domainnamen werden nicht unterstützt.
-
callback
Funktion
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>(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,
)
Sendet Daten auf dem 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 und höherDie Einstellung für die Adressauflösung.
-
callback
Funktion
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>(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.
Parameter
-
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: <ph type="x-smartling-placeholder"></ph>(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,
)
Legt fest, ob Multicast-Pakete, die vom Host an die Multicast-Gruppe gesendet werden, zurück zum Host geleitet werden.
Hinweis: Das Verhalten von setMulticastLoopbackMode
unterscheidet sich leicht zwischen Windows- und Unix-ähnlichen Systemen. Diese Inkonsistenz tritt nur auf, wenn mehr als eine Anwendung auf demselben Host mit derselben Multicast-Gruppe verbunden ist, während im Multicast-Loopback-Modus unterschiedliche Einstellungen festgelegt sind. Unter Windows empfangen Anwendungen mit deaktiviertem Loopback die Loopback-Pakete nicht. Bei Unix-ähnlichen Systemen senden Anwendungen mit deaktiviertem Loopback die Loopback-Pakete nicht an andere Anwendungen auf demselben Host. Siehe MSDN: 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: <ph type="x-smartling-placeholder"></ph>(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,
)
Legt die Gültigkeitsdauer 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 der Gültigkeitsdauer.
-
callback
Funktion
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>(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,
)
Unterbricht einen Socket oder hebt seine Pausierung auf. Ein pausierter Socket wird daran gehindert, onReceive
-Ereignisse auszulösen.
Parameter
-
socketId
Zahl
-
pausiert
boolean
Markierung zur Angabe, ob die Pausierung pausiert oder die Pausierung aufgehoben werden soll.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>() => void
Gibt Folgendes zurück:
-
Versprechen<void>
Chrome 121 oder höherPromise-Objekte 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 Eigenschaften.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>() => void
Gibt Folgendes zurück:
-
Versprechen<void>
Chrome 121 oder höherPromise-Objekte 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,
)
Das Ereignis wird ausgelöst, wenn ein UDP-Paket für den angegebenen Socket empfangen wurde.
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>(info: ReceiveInfo) => void
-
Info
-
onReceiveError
chrome.sockets.udp.onReceiveError.addListener(
callback: function,
)
Das Ereignis wird ausgelöst, wenn ein Netzwerkfehler auftrat, während die Laufzeit auf Daten über die Socket-Adresse und den Port wartet. Sobald dieses Ereignis ausgelöst wird, wird der Socket angehalten und es werden keine onReceive
-Ereignisse für diesen Socket mehr ausgelöst, bis der Socket fortgesetzt wird.
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>(info: ReceiveErrorInfo) => void
-
Info
-