chrome.sockets.udp

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

Chrome 103 und höher

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()

Versprechen
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öher

    Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.

create()

Versprechen
chrome.sockets.udp.create(
  properties?: SocketProperties,
  callback?: function,
)

Erstellt einen UDP-Socket mit den angegebenen Attributen.

Parameters

  • Properties

    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öher

    Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.

getInfo()

Versprechen
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öher

    Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.

getJoinedGroups()

Versprechen
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öher

    Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.

getSockets()

Versprechen
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öher

    Promise-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öher

    Die Einstellung für die Adressauflösung.

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (sendInfo: SendInfo)=>void

    • sendInfo

      Ergebnis der Methode send.

setBroadcast()

Chrome 44 und höher
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()

Versprechen
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öher

    Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.

update()

Versprechen
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öher

    Promise-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

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