chrome.socket

Beschreibung

Mit der chrome.socket API können Sie über TCP- und UDP-Verbindungen Daten über das Netzwerk senden und empfangen. Hinweis:Ab Chrome 33 wird diese API nicht mehr unterstützt und durch die APIs sockets.udp, sockets.tcp und sockets.tcpServer ersetzt.

Berechtigungen

socket

Typen

AcceptInfo

Attribute

  • resultCode

    Zahl

  • socketId

    Nummer 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/6-Adresse.

  • name

    String

    Der zugrunde liegende Name des Adapters. Auf *Nix ist das normalerweise „eth0“, „lo“ usw.

  • prefixLength

    Zahl

    Die Präfixlänge

ReadInfo

Attribute

  • Daten

    ArrayBuffer

  • resultCode

    Zahl

    Der resultCode, der vom zugrunde liegenden read()-Aufruf zurückgegeben wurde.

RecvFromInfo

Attribute

  • Adresse

    String

    Die Adresse des Remote-Computers.

  • Daten

    ArrayBuffer

  • Port

    Zahl

  • resultCode

    Zahl

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

SecureOptions

Attribute

SocketInfo

Attribute

  • verbunden

    boolean

    Gibt an, ob der zugrunde liegende Socket verbunden ist oder nicht.

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

    Bei udp-Sockets stellt dies lediglich dar, ob eine Standard-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

    Nummer optional

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

  • peerAddress

    String optional

    Enthält die IPv4/6-Adresse des Peers, wenn der zugrunde liegende Socket verbunden ist.

  • peerPort

    Nummer optional

    Enthält den Port des verbundenen Peers, wenn der zugrunde liegende Socket verbunden ist.

  • socketType

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

SocketType

Enum

"udp"

TLSVersionConstraints

Attribute

  • Max.

    String optional

  • Min.

    String optional

    Die zulässigen Mindest- und Höchstversionen 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 an tls1.2 gesetzt. Wenn max auf einen dieser Werte oder einen anderen nicht erkannten Wert festgelegt ist, wird er ignoriert.

WriteInfo

Attribute

  • bytesWritten

    Zahl

    Die Anzahl der gesendeten Byte oder ein negativer Fehlercode.

Methoden

accept()

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

Diese Methode gilt nur für TCP-Sockets. Registriert eine Callback-Funktion, die aufgerufen werden soll, wenn eine Verbindung auf diesem überwachenden Server-Socket akzeptiert wird. Hören muss zuerst aufgerufen werden. Wenn bereits ein aktiver Callback zum Annehmen vorhanden ist, wird dieser Callback sofort mit einem Fehler als resultCode aufgerufen.

Parameters

  • socketId

    Zahl

    Die socketId.

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (acceptInfo: AcceptInfo)=>void

bind()

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

Bindet die lokale Adresse für den Socket. TCP-Socket wird derzeit nicht unterstützt.

Parameters

  • socketId

    Zahl

    Die socketId.

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

Verbindet das Socket mit dem Remote-Computer (für ein tcp-Socket). Bei einem udp-Socket wird hiermit die Standardadresse festgelegt, an die Pakete für read()- und write()-Aufrufe gesendet und aus dieser gelesen werden.

Parameters

  • socketId

    Zahl

    Die socketId.

  • Hostname

    String

    Der Hostname oder die IP-Adresse des Remote-Computers.

  • Port

    Zahl

    Der Port des Remote-Computers.

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (result: number)=>void

    • Ergebnis

      Zahl

create()

Versprechen
chrome.socket.create(
  type: SocketType,
  options?: CreateOptions,
  callback?: function,
)

Erstellt einen Socket des angegebenen Typs, der eine Verbindung zum angegebenen Remote-Computer herstellt.

Parameters

  • Der zu erstellende Socket-Typ. Muss tcp oder udp sein.

  • Optionen

    CreateOptions optional

    Die Socket-Optionen.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (createInfo: CreateInfo)=>void

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.

destroy()

chrome.socket.destroy(
  socketId: number,
)

Zerstört das Socket. Jeder erstellte Socket sollte nach der Verwendung gelöscht werden.

Parameters

  • socketId

    Zahl

    Die socketId.

disconnect()

chrome.socket.disconnect(
  socketId: number,
)

Trennt das Socket. Bei UDP-Sockets ist disconnect kein Vorgang, kann aber sicher aufgerufen werden.

Parameters

  • socketId

    Zahl

    Die socketId.

getInfo()

Versprechen
chrome.socket.getInfo(
  socketId: number,
  callback?: function,
)

Ruft den Status des angegebenen Sockets ab.

Parameters

  • socketId

    Zahl

    Die socketId.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (result: SocketInfo)=>void

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

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

Ruft die Multicast-Gruppenadressen ab, mit denen der Socket derzeit verknüpft ist.

Parameters

  • socketId

    Zahl

    Die socketId.

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (groups: string[])=>void

    • Gruppen

      String[]

getNetworkList()

Versprechen
chrome.socket.getNetworkList(
  callback?: function,
)

Ruft Informationen zu lokalen Adaptern auf diesem System ab.

Parameters

Rückgaben

  • Promise<NetworkInterface[]>

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

Treten Sie der Multicast-Gruppe bei und empfangen Sie Pakete von dieser Gruppe. Der Socket muss vom Typ UDP sein und an einen lokalen Port gebunden sein, bevor diese Methode aufgerufen wird.

Parameters

  • socketId

    Zahl

    Die socketId.

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

Verlassen Sie die zuvor beigetretene Multicast-Gruppe über joinGroup. Es ist nicht erforderlich, die Multicast-Gruppe zu verlassen, bevor der Socket gelöscht oder die Multicast-Gruppe verlassen wird. Diese wird automatisch vom Betriebssystem aufgerufen.

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 socketId.

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

Diese Methode gilt nur für TCP-Sockets. Wartet auf Verbindungen für den angegebenen Port und die angegebene Adresse. Dadurch wird dies zu einem Server-Socket und Client-Socket-Funktionen (Verbindung, Lesen, Schreiben) können nicht mehr auf diesem Socket verwendet werden.

Parameters

  • socketId

    Zahl

    Die socketId.

  • Adresse

    String

    Die Adresse des lokalen Computers.

  • Port

    Zahl

    Der Port des lokalen Computers.

  • Rückstand

    Nummer optional

    Länge der Überwachungswarteschlange 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,
)

Liest Daten aus dem angegebenen verbundenen Socket.

Parameters

  • socketId

    Zahl

    Die socketId.

  • bufferSize

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

Empfängt Daten vom angegebenen UDP-Socket.

Parameters

  • socketId

    Zahl

    Die socketId.

  • bufferSize

    Nummer optional

    Die Größe des Empfangspuffers.

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (recvFromInfo: RecvFromInfo)=>void

secure()

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

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

Parameters

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

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

Parameters

  • socketId

    Zahl

    Die socketId.

  • Daten

    ArrayBuffer

    Die zu schreibenden Daten.

  • Adresse

    String

    Die Adresse des Remote-Computers.

  • Port

    Zahl

    Der Port des Remote-Computers.

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (writeInfo: WriteInfo)=>void

setKeepAlive()

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

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

Parameters

  • socketId

    Zahl

    Die socketId.

  • enable

    boolean

    Falls wahr, aktivieren Sie die Keep-Alive-Funktion.

  • delay

    Nummer optional

    Legen Sie die Verzögerung in Sekunden zwischen dem letzten empfangenen Datenpaket und der ersten Keepalive-Prüfung fest. Die Standardeinstellung 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,
)

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

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

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

  • ttl

    Zahl

    Wert der Gültigkeitsdauer.

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (result: number)=>void

    • Ergebnis

      Zahl

setNoDelay()

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

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

Parameters

  • socketId

    Zahl

    Die socketId.

  • noDelay

    boolean

    Bei „true“ wird der Algorithmus von Nagle deaktiviert.

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (result: boolean)=>void

    • Ergebnis

      boolean

write()

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

Schreibt Daten auf den angegebenen verbundenen Socket.

Parameters

  • socketId

    Zahl

    Die socketId.

  • Daten

    ArrayBuffer

    Die zu schreibenden Daten.

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (writeInfo: WriteInfo)=>void