chrome.socket

Beschreibung

Mit der chrome.socket API können Sie Daten über das Netzwerk mit TCP- und UDP-Verbindungen senden und empfangen. Hinweis:Ab Chrome 33 wird diese API zugunsten der APIs sockets.udp, sockets.tcp und sockets.tcpServer eingestellt.

Berechtigungen

socket

Typen

AcceptInfo

Attribute

  • resultCode

    Zahl

  • socketId

    number optional

    Die ID des akzeptierten Sockets.

CreateInfo

Attribute

  • socketId

    Zahl

    Die ID des neu erstellten Sockets.

CreateOptions

NetworkInterface

Attribute

  • Adresse

    String

    Die verfügbare IPv4-/IPv6-Adresse.

  • name

    String

    Der zugrunde liegende Name des Adapters. Unter *nix ist das in der Regel „eth0“, „lo“ usw.

  • prefixLength

    Zahl

    Die Präfixlänge

ReadInfo

Attribute

  • Daten

    ArrayBuffer

  • resultCode

    Zahl

    Der von dem zugrunde liegenden read()-Aufruf zurückgegebene resultCode.

RecvFromInfo

Attribute

  • Adresse

    String

    Die Adresse des Remote-Computers.

  • Daten

    ArrayBuffer

  • Port

    Zahl

  • resultCode

    Zahl

    Der vom zugrunde liegenden recvfrom()-Aufruf zurückgegebene resultCode.

SecureOptions

Attribute

SocketInfo

Attribute

  • verbunden

    boolean

    Gibt an, ob die zugrunde liegende Socket-Verbindung besteht.

    Für tcp-Sockets gilt dies auch dann, wenn die Remote-Gegenstelle die Verbindung getrennt hat. Das Lesen oder Schreiben in den Socket kann dann zu einem Fehler führen, der darauf hinweist, dass dieser Socket über disconnect() getrennt werden sollte.

    Bei udp-Sockets gibt dies nur an, ob eine standardmäßige Remote-Adresse zum Lesen und Schreiben von Paketen angegeben wurde.

  • localAddress

    String optional

    Wenn der zugrunde liegende Socket gebunden oder verbunden ist, enthält er seine lokale IPv4-/6-Adresse.

  • localPort

    number optional

    Wenn der zugrunde liegende Socket gebunden oder verbunden ist, enthält er seinen lokalen Port.

  • peerAddress

    String optional

    Wenn der zugrunde liegende Socket verbunden ist, enthält er die IPv4-/IPv6-Adresse des Peers.

  • peerPort

    number optional

    Wenn der zugrunde liegende Socket verbunden ist, enthält er den Port des verbundenen Peers.

  • socketType

    Der Typ des übergebenen Sockets. Das ist tcp oder udp.

SocketType

Enum

"tcp"

"udp"

TLSVersionConstraints

Attribute

  • max

    String optional

  • Min.

    String optional

    Die minimal und maximal zulässigen Versionen von TLS. Unterstützte Werte sind tls1.2 oder tls1.3.

    Die Werte tls1 und tls1.1 werden nicht mehr unterstützt. Wenn min auf einen dieser Werte festgelegt ist, wird er automatisch auf tls1.2 begrenzt. Wenn max auf einen dieser Werte oder einen anderen nicht erkannten Wert festgelegt ist, wird er stillschweigend ignoriert.

WriteInfo

Attribute

  • bytesWritten

    Zahl

    Die Anzahl der gesendeten Byte oder ein negativer Fehlercode.

Methoden

accept()

chrome.socket.accept(
  socketId: number,
  callback: function,
)
: void

Diese Methode gilt nur für TCP-Sockets. Registriert eine Callback-Funktion, die aufgerufen werden soll, wenn eine Verbindung auf diesem Listening-Server-Socket akzeptiert wird. „Listen“ muss zuerst aufgerufen werden. Wenn bereits ein aktiver Accept-Callback vorhanden ist, wird dieser Callback sofort mit einem Fehler als resultCode aufgerufen.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (acceptInfo: AcceptInfo) => void

bind()

chrome.socket.bind(
  socketId: number,
  address: string,
  port: number,
  callback: function,
)
: void

Bindet die lokale Adresse für den Socket. Derzeit wird kein TCP-Socket unterstützt.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

  • Adresse

    String

    Die Adresse des lokalen Computers.

  • Port

    Zahl

    Der Port des lokalen Computers.

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (result: number) => void

    • Ergebnis

      Zahl

connect()

chrome.socket.connect(
  socketId: number,
  hostname: string,
  port: number,
  callback: function,
)
: void

Stellt die Verbindung des Sockets zum Remotecomputer her (für einen tcp-Socket). Für einen udp-Socket wird damit die Standardadresse festgelegt, an die Pakete für read()- und write()-Aufrufe gesendet und von der sie gelesen werden.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

  • Hostname

    String

    Der Hostname oder die IP-Adresse des Remotecomputers.

  • Port

    Zahl

    Der Port des Remotecomputers.

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (result: number) => void

    • Ergebnis

      Zahl

create()

Promise
chrome.socket.create(
  type: SocketType,
  options?: CreateOptions,
  callback?: function,
)
: Promise<CreateInfo>

Erstellt einen Socket des angegebenen Typs, der eine Verbindung zur angegebenen Remote-Maschine herstellt.

Parameter

  • Der Typ des zu erstellenden Sockets. Muss tcp oder udp sein.

  • Optionen

    CreateOptions optional

    Die Socket-Optionen.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (createInfo: CreateInfo) => void

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.

destroy()

chrome.socket.destroy(
  socketId: number,
)
: void

Zerstört den Socket. Jeder erstellte Socket sollte nach der Verwendung zerstört werden.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

disconnect()

chrome.socket.disconnect(
  socketId: number,
)
: void

Trennt die Verbindung zur Steckdose. Für UDP-Sockets ist disconnect keine Operation, kann aber sicher aufgerufen werden.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

getInfo()

Promise
chrome.socket.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:

    (result: SocketInfo) => void

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

chrome.socket.getJoinedGroups(
  socketId: number,
  callback: function,
)
: void

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

Parameter

  • socketId

    Zahl

    Die Socket-ID.

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (groups: string[]) => void

    • Gruppen

      String[]

getNetworkList()

Promise
chrome.socket.getNetworkList(
  callback?: function,
)
: Promise<NetworkInterface[]>

Ruft Informationen zu lokalen Adaptern auf diesem System ab.

Parameter

Ausgabe

  • Promise<NetworkInterface[]>

    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.socket.joinGroup(
  socketId: number,
  address: string,
  callback: function,
)
: void

Treten Sie der Multicastgruppe bei und beginnen Sie, Pakete von dieser Gruppe zu empfangen. Der Socket muss vom Typ „UDP“ sein und vor dem Aufrufen dieser Methode an einen lokalen Port gebunden werden.

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

leaveGroup()

chrome.socket.leaveGroup(
  socketId: number,
  address: string,
  callback: function,
)
: void

Verlässt die zuvor mit joinGroup beigetretene Multicastgruppe. Es ist nicht erforderlich, die Multicastgruppe zu verlassen, bevor der Socket zerstört oder das Programm beendet wird. Diese Methode wird automatisch vom Betriebssystem aufgerufen.

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

listen()

chrome.socket.listen(
  socketId: number,
  address: string,
  port: number,
  backlog?: number,
  callback: function,
)
: void

Diese Methode gilt nur für TCP-Sockets. Wartet auf Verbindungen am angegebenen Port und an der angegebenen Adresse. Dadurch wird dieser Socket zu einem Server-Socket und Client-Socket-Funktionen (connect, read, write) können nicht mehr für diesen Socket verwendet werden.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

  • Adresse

    String

    Die Adresse des lokalen Computers.

  • Port

    Zahl

    Der Port des lokalen Computers.

  • backlog

    number optional

    Länge der Listen-Warteschlange des Sockets.

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (result: number) => void

    • Ergebnis

      Zahl

read()

chrome.socket.read(
  socketId: number,
  bufferSize?: number,
  callback: function,
)
: void

Liest Daten aus dem angegebenen verbundenen Socket.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

  • bufferSize

    number optional

    Die Größe des Lesepuffers.

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (readInfo: ReadInfo) => void

recvFrom()

chrome.socket.recvFrom(
  socketId: number,
  bufferSize?: number,
  callback: function,
)
: void

Empfängt Daten vom angegebenen UDP-Socket.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

  • bufferSize

    number optional

    Die Größe des Zwischenspeichers für eingehende Daten.

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (recvFromInfo: RecvFromInfo) => void

secure()

chrome.socket.secure(
  socketId: number,
  options?: SecureOptions,
  callback: function,
)
: void

Starten Sie eine TLS-Clientverbindung über einen verbundenen TCP-Clientsocket.

Parameter

  • socketId

    Zahl

    Der zu verwendende verbundene Socket.

  • Optionen

    SecureOptions optional

    Einschränkungen und Parameter für die TLS-Verbindung.

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (result: number) => void

    • Ergebnis

      Zahl

sendTo()

chrome.socket.sendTo(
  socketId: number,
  data: ArrayBuffer,
  address: string,
  port: number,
  callback: function,
)
: void

Sendet Daten über den angegebenen UDP-Socket an die angegebene Adresse und den angegebenen Port.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

  • Daten

    ArrayBuffer

    Die zu schreibenden Daten.

  • Adresse

    String

    Die Adresse des Remote-Computers.

  • Port

    Zahl

    Der Port des Remotecomputers.

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (writeInfo: WriteInfo) => void

setKeepAlive()

chrome.socket.setKeepAlive(
  socketId: number,
  enable: boolean,
  delay?: number,
  callback: function,
)
: void

Aktiviert oder deaktiviert die Keep-Alive-Funktion für eine TCP-Verbindung.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

  • aktivieren

    boolean

    Bei „true“ wird die Keep-Alive-Funktion aktiviert.

  • delay

    number optional

    Legen Sie die Verzögerungssekunden zwischen dem letzten empfangenen Datenpaket und der ersten Keep-Alive-Prüfung fest. Der Standardwert ist 0.

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (result: boolean) => void

    • Ergebnis

      boolean

setMulticastLoopbackMode()

chrome.socket.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

setMulticastTimeToLive()

chrome.socket.setMulticastTimeToLive(
  socketId: number,
  ttl: number,
  callback: function,
)
: void

Legen Sie 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

setNoDelay()

chrome.socket.setNoDelay(
  socketId: number,
  noDelay: boolean,
  callback: function,
)
: void

Legt TCP_NODELAY für eine TCP-Verbindung fest oder entfernt sie. Der Nagle-Algorithmus wird deaktiviert, wenn TCP_NODELAY festgelegt ist.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

  • noDelay

    boolean

    Wenn „true“, wird der Nagle-Algorithmus deaktiviert.

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (result: boolean) => void

    • Ergebnis

      boolean

write()

chrome.socket.write(
  socketId: number,
  data: ArrayBuffer,
  callback: function,
)
: void

Schreibt Daten in den angegebenen verbundenen Socket.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

  • Daten

    ArrayBuffer

    Die zu schreibenden Daten.

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (writeInfo: WriteInfo) => void