chrome.sockets.tcpServer

Beschreibung

Mit der chrome.sockets.tcpServer API können Sie Serveranwendungen mit TCP-Verbindungen erstellen. 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

AcceptErrorInfo

Attribute

  • resultCode

    Zahl

    Der vom zugrunde liegenden Netzwerkaufruf zurückgegebene Ergebniscode.

  • socketId

    Zahl

    Die Server-Socket-ID.

AcceptInfo

Attribute

  • clientSocketId

    Zahl

    Die Client-Socket-Kennung, d.h. die Socket-Kennung der neu hergestellten Verbindung. Diese Socket-Kennung sollte nur mit Funktionen aus dem Namespace chrome.sockets.tcp verwendet werden. Der Client-Socket ist anfangs pausiert und muss von der Anwendung explizit reaktiviert werden, damit Daten empfangen werden können.

  • socketId

    Zahl

    Die Server-Socket-ID.

CreateInfo

Attribute

  • socketId

    Zahl

    Die ID des neu erstellten Serversockets. 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.

SocketInfo

Attribute

  • localAddress

    String optional

    Wenn der Socket aktiv ist, enthält er seine lokale IPv4-/IPv6-Adresse.

  • localPort

    number optional

    Wenn der Socket aktiv ist, enthält er den lokalen Port.

  • name

    String optional

    Anwendungsdefinierter String, der dem Socket zugeordnet ist.

  • pausiert

    boolean

    Flag, das angibt, ob Verbindungsanfragen an einem Listening-Socket über das onAccept-Ereignis gesendet oder in der Listen-Warteschlange in der Warteschlange stehen. setPaused ansehen. Der Standardwert lautet „false“.

  • nichtflüchtige

    boolean

    Flag, das angibt, ob der Socket geöffnet bleibt, wenn die Ereignisseite der Anwendung entladen wird (siehe SocketProperties.persistent). Der Standardwert ist „false“.

  • socketId

    Zahl

    Die Socket-ID.

SocketProperties

Attribute

  • 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

close()

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

Trennt die Verbindung und löscht den Socket. 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.tcpServer.create(
  properties?: SocketProperties,
  callback?: function,
)
: Promise<CreateInfo>

Erstellt einen TCP-Serversocket.

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.tcpServer.disconnect(
  socketId: number,
  callback?: function,
)
: Promise<void>

Trennt den Listening-Socket, d.h., es werden keine neuen Verbindungen mehr akzeptiert und die Adresse/der Port, an die/den der Socket gebunden ist, wird freigegeben. Die Socket-ID bleibt gültig und kann z.B. mit listen verwendet werden, um Verbindungen an einem neuen Port und einer neuen Adresse anzunehmen.

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

listen()

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

Wartet auf Verbindungen am angegebenen Port und an der angegebenen Adresse. Wenn der Port/die Adresse verwendet wird, gibt der Callback einen Fehler an.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

  • Adresse

    String

    Die Adresse des lokalen Computers.

  • Port

    Zahl

    Der Port des lokalen Computers. Wenn 0 festgelegt ist, wird ein kostenloser Port dynamisch ausgewählt. Der dynamisch zugewiesene Port kann durch Aufrufen von getInfo ermittelt werden.

  • backlog

    number optional

    Länge der Listen-Warteschlange des Sockets. Der Standardwert hängt vom Betriebssystem (SOMAXCONN) ab, das für die meisten Anwendungen eine angemessene Warteschlangenlänge gewährleistet.

  • 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.tcpServer.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)
: Promise<void>

Aktiviert oder deaktiviert, dass ein Listening-Socket neue Verbindungen akzeptiert. Wenn ein Listening-Socket pausiert wird, akzeptiert er neue Verbindungen, bis sein Backlog (siehe Funktion listen) voll ist. Danach werden zusätzliche Verbindungsanfragen abgelehnt. onAccept-Ereignisse werden nur ausgelöst, wenn die Socket-Verbindung nicht pausiert ist.

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

onAccept

chrome.sockets.tcpServer.onAccept.addListener(
  callback: function,
)

Ereignis, das ausgelöst wird, wenn eine Verbindung zum Serversocket hergestellt wurde.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (info: AcceptInfo) => void

onAcceptError

chrome.sockets.tcpServer.onAcceptError.addListener(
  callback: function,
)

Ereignis, das ausgelöst wird, wenn ein Netzwerkfehler auftritt, während die Laufzeit auf neue Verbindungen an der Socketadresse und am Port wartet. Sobald dieses Ereignis ausgelöst wird, wird der Socket auf paused gesetzt und es werden keine weiteren onAccept-Ereignisse für diesen Socket ausgelöst, bis der Socket fortgesetzt wird.

Parameter