chrome.sockets.tcp

Beschreibung

Mit der chrome.sockets.tcp API können Sie Daten über das Netzwerk über TCP-Verbindungen senden und empfangen. Diese API ersetzt die TCP-Funktionen, die zuvor in der chrome.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 Netzwerkaufruf zurückgegebene Ergebniscode.

  • socketId

    Zahl

    Die Socket-ID.

ReceiveInfo

Attribute

  • Daten

    ArrayBuffer

    Die empfangenen Daten mit einer maximalen Größe von bufferSize.

  • socketId

    Zahl

    Die Socket-ID.

SecureOptions

Attribute

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.

  • verbunden

    boolean

    Flag, das angibt, ob der Socket mit einem Remote-Peer verbunden ist.

  • localAddress

    String optional

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

  • localPort

    number optional

    Wenn die zugrunde liegende Socket verbunden ist, enthält sie ihren lokalen Port.

  • name

    String optional

    Anwendungsdefinierter String, der dem Socket zugeordnet ist.

  • pausiert

    boolean

    Flag, das angibt, ob ein verbundener Socket das Senden weiterer Daten durch den Peer blockiert (siehe setPaused).

  • peerAddress

    String optional

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

  • peerPort

    number optional

    Wenn die zugrunde liegende Socket verbunden ist, enthält sie den Peer-Port.

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

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.

Methoden

close()

Promise
chrome.sockets.tcp.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.

connect()

chrome.sockets.tcp.connect(
  socketId: number,
  peerAddress: string,
  peerPort: number,
  dnsQueryType?: DnsQueryType,
  callback: function,
)
: void

Verbindet den Socket mit einem Remote-Computer. Wenn der Vorgang connect erfolgreich abgeschlossen wurde, werden onReceive-Ereignisse ausgelöst, wenn Daten vom Peer empfangen werden. Wenn beim Empfangen von Paketen durch die Laufzeit ein Netzwerkfehler auftritt, wird ein onReceiveError-Ereignis ausgelöst. Danach wird für diesen Socket kein onReceive-Ereignis mehr ausgelöst, bis die resume-Methode aufgerufen wird.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

  • peerAddress

    String

    Die Adresse des Remote-Computers. DNS-Name, IPv4- und IPv6-Formate werden unterstützt.

  • peerPort

    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:

    (result: number) => void

    • Ergebnis

      Zahl

      Der vom zugrunde liegenden Netzwerkaufruf zurückgegebene Ergebniscode. Ein negativer Wert weist auf einen Fehler hin.

create()

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

Erstellt einen TCP-Socket.

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.

disconnect()

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

Trennt die Verbindung zur Steckdose.

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.

getInfo()

Promise
chrome.sockets.tcp.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.

getSockets()

Promise
chrome.sockets.tcp.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.

secure()

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

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

Parameter

  • socketId

    Zahl

    Der vorhandene, verbundene Socket, der verwendet werden soll.

  • 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

send()

chrome.sockets.tcp.send(
  socketId: number,
  data: ArrayBuffer,
  callback: function,
)
: void

Sendet Daten über den angegebenen TCP-Socket.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

  • Daten

    ArrayBuffer

    Die zu sendenden Daten.

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (sendInfo: SendInfo) => void

    • sendInfo

      Ergebnis der Methode send.

setKeepAlive()

chrome.sockets.tcp.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: number) => void

    • Ergebnis

      Zahl

      Der vom zugrunde liegenden Netzwerkaufruf zurückgegebene Ergebniscode. Ein negativer Wert weist auf einen Fehler hin.

setNoDelay()

chrome.sockets.tcp.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: number) => void

    • Ergebnis

      Zahl

      Der vom zugrunde liegenden Netzwerkaufruf zurückgegebene Ergebniscode. Ein negativer Wert weist auf einen Fehler hin.

setPaused()

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

Aktiviert oder deaktiviert den Empfang von Nachrichten von der Peer-App. Der Standardwert lautet „false“. Das Pausieren eines Sockets wird in der Regel von einer Anwendung verwendet, um die von ihrem Peer gesendeten Daten zu drosseln. Wenn ein Socket pausiert wird, wird kein onReceive-Ereignis ausgelöst. Wenn ein Socket verbunden und die Pause aufgehoben wird, werden onReceive-Ereignisse wieder ausgelöst, wenn Nachrichten empfangen werden.

Parameter

  • socketId

    Zahl

  • pausiert

    boolean

  • 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.tcp.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.tcp.onReceive.addListener(
  callback: function,
)

Ereignis, das ausgelöst wird, wenn Daten für einen bestimmten Socket empfangen wurden.

Parameter

onReceiveError

chrome.sockets.tcp.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 auf paused gesetzt und es werden keine weiteren onReceive-Ereignisse für diesen Socket ausgelöst.

Parameter