chrome.sockets.udp

Beschreibung

Mit der chrome.sockets.udp API können Sie Daten über das Netzwerk über UDP-Verbindungen senden und empfangen. Diese API ersetzt die UDP-Funktionen, die zuvor in der „socket“-API verfügbar 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. Socket-IDs, die mit dieser API erstellt wurden, sind nicht mit Socket-IDs kompatibel, die mit anderen APIs erstellt wurden, z. B. mit der eingestellten [socket](../socket/) API.

DnsQueryType

Chrome 103 und höher

Einstellungen für die DNS-Auflösung. Der Standardwert ist any. Dabei wird die aktuelle Betriebssystemkonfiguration verwendet, die möglicherweise IPv4 oder IPv6 zurückgibt. 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 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

    number optional

    Die Anzahl der gesendeten Byte (wenn „result“ == 0)

  • 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 Puffers, der zum Empfangen 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-/IPv6-Adresse.

  • localPort

    number optional

    Wenn der zugrunde liegende Socket gebunden ist, enthält er den lokalen Port.

  • name

    String optional

    Anwendungsdefinierter String, der dem Socket zugeordnet ist.

  • pausiert

    boolean

    Angabe, ob das Socket daran gehindert wird, „onReceive“-Ereignisse auszulösen.

  • nichtflüchtige

    boolean

    Flag, das angibt, 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 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

    boolean 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 zuvor mit „persistent=true“ geöffneten Sockets mit getSockets abgerufen 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 kostenlosen Port auswählen kann.

Sobald der Vorgang bind erfolgreich abgeschlossen wurde, werden onReceive-Ereignisse ausgelöst, wenn UDP-Pakete an der angegebenen Adresse/am angegebenen Port eingehen, sofern der Socket nicht pausiert ist.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

  • Adresse

    String

    Die Adresse des lokalen Computers. DNS-Name, IPv4- und IPv6-Formate werden unterstützt. Verwenden Sie „0.0.0.0“, um Pakete von allen lokal verfügbaren Netzwerkschnittstellen anzunehmen.

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

Promise
chrome.sockets.udp.close(
  socketId: number,
  callback?: function,
)
: Promise<void>

Schließt den Socket und gibt die Adresse/den Port frei, an die 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. Es wird jedoch garantiert, dass der Socket erst geschlossen wird, wenn der Callback aufgerufen wird.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 121 und höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

create()

Promise
chrome.sockets.udp.create(
  properties?: SocketProperties,
  callback?: function,
)
: Promise<CreateInfo>

Erstellt einen UDP-Socket mit den angegebenen Attributen.

Parameter

  • Properties

    Die Socket-Attribute (optional).

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (createInfo: CreateInfo) => void

    • createInfo

      Das Ergebnis der Socket-Erstellung.

Ausgabe

  • Promise<CreateInfo>

    Chrome 121 und höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

getInfo()

Promise
chrome.sockets.udp.getInfo(
  socketId: number,
  callback?: function,
)
: Promise<SocketInfo>

Ruft den Status des angegebenen Sockets ab.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (socketInfo: SocketInfo) => void

    • socketInfo

      Objekt mit den Socket-Informationen.

Ausgabe

  • Promise<SocketInfo>

    Chrome 121 und höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

getJoinedGroups()

Promise
chrome.sockets.udp.getJoinedGroups(
  socketId: number,
  callback?: function,
)
: Promise<string[]>

Ruft die Multicastgruppenadressen ab, denen der Socket derzeit angehört.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (groups: string[]) => void

    • Gruppen

      String[]

      Array von Gruppen, denen der Socket beigetreten ist.

Ausgabe

  • Promise<string[]>

    Chrome 121 und höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

getSockets()

Promise
chrome.sockets.udp.getSockets(
  callback?: function,
)
: Promise<SocketInfo[]>

Ruft die Liste der derzeit geöffneten Sockets ab, die der Anwendung gehören.

Parameter

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (socketInfos: SocketInfo[]) => void

    • socketInfos

      Array mit Objekten, die Socket-Informationen enthalten.

Ausgabe

  • Promise<SocketInfo[]>

    Chrome 121 und höher

    Promises 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 Multicastgruppe bei und beginnt, Pakete von dieser Gruppe zu empfangen. Der Socket muss an einen lokalen Port gebunden sein, bevor diese Methode aufgerufen wird.

Parameter

  • 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 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,
)
: void

Verlässt die Multicastgruppe, der zuvor mit joinGroup beigetreten wurde. Dies ist nur erforderlich, wenn Sie den Socket danach weiter verwenden möchten, da dies automatisch vom Betriebssystem erfolgt, wenn der Socket geschlossen wird.

Wenn Sie die Gruppe verlassen, werden keine Multicast-Datagramme mehr vom Router an den lokalen Host gesendet, sofern kein anderer Prozess auf dem Host noch Mitglied der Gruppe ist.

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,
)
: void

Sendet Daten über den angegebenen Socket an die angegebene Adresse und den angegebenen Port. Der Socket muss an einen lokalen Port gebunden sein, bevor diese Methode aufgerufen wird.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

  • Daten

    ArrayBuffer

    Die zu sendenden Daten.

  • Adresse

    String

    Die Adresse des Remote-Computers.

  • Port

    Zahl

    Der Port des Remotecomputers.

  • dnsQueryType

    DnsQueryType optional

    Chrome 103 und höher

    Die bevorzugte Methode zur 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,
)
: void

Aktiviert oder deaktiviert Broadcast-Pakete für diesen Socket.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

  • aktiviert

    boolean

    true zum Aktivieren von Broadcast-Paketen, false zum 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,
)
: 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 auf demselben Host mehrere Anwendungen vorhanden sind, die derselben Multicastgruppe beigetreten sind und unterschiedliche Einstellungen für den Multicast-Loopback-Modus haben. Unter Windows EMPFANGEN Anwendungen, bei denen Loopback deaktiviert ist, die Loopback-Pakete nicht. Auf Unix-ähnlichen Systemen SENDEN Anwendungen, bei denen Loopback deaktiviert ist, die Loopback-Pakete nicht an andere Anwendungen auf demselben Host. Weitere Informationen finden Sie im 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 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,
)
: void

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 TTL-Wert.

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

Promise
chrome.sockets.udp.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)
: Promise<void>

Pausiert oder hebt die Pausierung eines Sockets auf. Bei einem pausierten Socket können keine onReceive-Ereignisse ausgelöst werden.

Parameter

  • socketId

    Zahl

  • pausiert

    boolean

    Flag, das angibt, ob pausiert oder die Pausierung aufgehoben werden soll.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 121 und höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

update()

Promise
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

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 121 und höher

    Promises 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,
)

Wird ausgelöst, wenn für den angegebenen Socket ein UDP-Paket empfangen wurde.

Parameter

onReceiveError

chrome.sockets.udp.onReceiveError.addListener(
  callback: function,
)

Ereignis, das ausgelöst wird, wenn ein Netzwerkfehler auftritt, während die Laufzeit auf Daten an der Socketadresse und am 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 der Socket fortgesetzt wird.

Parameter