chrome.sockets.tcpServer

Opis

Użyj interfejsu chrome.sockets.tcpServer API, aby tworzyć aplikacje serwerowe korzystające z połączeń TCP. Ten interfejs API zastępuje funkcję TCP, która była wcześniej dostępna w interfejsie chrome.socket API.

Plik manifestu

Aby korzystać z tego interfejsu API, musisz zadeklarować te klucze w pliku manifestu.

"sockets"

Typy

AcceptErrorInfo

Właściwości

  • resultCode

    liczba

    Kod wyniku zwrócony z wywołania sieciowego.

  • socketId

    liczba

    Identyfikator gniazda serwera.

AcceptInfo

Właściwości

  • clientSocketId

    liczba

    Identyfikator gniazda klienta, czyli identyfikator gniazda nowo utworzonego połączenia. Ten identyfikator gniazda powinien być używany tylko z funkcjami z przestrzeni nazw chrome.sockets.tcp. Pamiętaj, że gniazdo klienta jest początkowo wstrzymane i musi zostać wyraźnie odblokowane przez aplikację, aby rozpocząć odbieranie danych.

  • socketId

    liczba

    Identyfikator gniazda serwera.

CreateInfo

Właściwości

  • socketId

    liczba

    Identyfikator nowo utworzonego gniazda serwera. Pamiętaj, że identyfikatory gniazd utworzone za pomocą tego interfejsu API nie są zgodne z identyfikatorami gniazd utworzonymi za pomocą innych interfejsów API, np. wycofanego interfejsu API [socket](../socket/).

SocketInfo

Właściwości

  • localAddress

    ciąg znaków opcjonalny

    Jeśli gniazdo nasłuchuje, zawiera lokalny adres IPv4/6.

  • localPort

    number opcjonalny

    Jeśli gniazdo nasłuchuje, zawiera swój port lokalny.

  • nazwa

    ciąg znaków opcjonalny

    Ciąg znaków zdefiniowany przez aplikację powiązany z gniazdem.

  • wstrzymana

    wartość logiczna

    Flaga wskazująca, czy żądania połączenia na gnieździe nasłuchującym są wysyłane za pomocą zdarzenia onAccept, czy umieszczane w kolejce nasłuchiwania. Zobacz setPaused. Wartość domyślna to „false”.

  • trwałe,

    wartość logiczna

    Flaga wskazująca, czy gniazdo pozostaje otwarte po zamknięciu strony zdarzenia aplikacji (patrz SocketProperties.persistent). Wartość domyślna to „false”.

  • socketId

    liczba

    Identyfikator gniazda.

SocketProperties

Właściwości

  • nazwa

    ciąg znaków opcjonalny

    Ciąg znaków zdefiniowany przez aplikację powiązany z gniazdem.

  • trwałe,

    wartość logiczna opcjonalna

    Flaga wskazująca, czy gniazdo pozostaje otwarte po zamknięciu strony zdarzenia aplikacji (patrz Zarządzanie cyklem życia aplikacji). Wartość domyślna to „false”. Po załadowaniu aplikacji wszystkie gniazda otwarte wcześniej z ustawieniem persistent=true można pobrać za pomocą getSockets.

Metody

close()

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

Rozłącza i niszczy gniazdo. Każde utworzone gniazdo powinno zostać zamknięte po użyciu. Identyfikator gniazda przestaje być ważny natychmiast po wywołaniu funkcji. Gniazdo jest jednak zamykane dopiero po wywołaniu wywołania zwrotnego.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 121 lub nowsza

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.

create()

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

Tworzy gniazdo serwera TCP.

Parametry

  • właściwości

    SocketProperties opcjonalny

    Właściwości gniazda (opcjonalne).

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (createInfo: CreateInfo) => void

Zwroty

  • Promise<CreateInfo>

    Chrome 121 lub nowsza

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.

disconnect()

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

Rozłącza gniazdo nasłuchujące, czyli przestaje akceptować nowe połączenia i zwalnia adres/port, do którego jest przypisane. Identyfikator gniazda pozostaje ważny, np. można go użyć z funkcją listen, aby akceptować połączenia na nowym porcie i adresie.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 121 lub nowsza

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.

getInfo()

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

Pobiera stan danego gniazda.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (socketInfo: SocketInfo) => void

    • socketInfo

      Obiekt zawierający informacje o gnieździe.

Zwroty

  • Promise<SocketInfo>

    Chrome 121 lub nowsza

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.

getSockets()

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

Pobiera listę aktualnie otwartych gniazd należących do aplikacji.

Parametry

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (socketInfos: SocketInfo[]) => void

    • socketInfos

      Tablica obiektów zawierających informacje o gnieździe.

Zwroty

  • Promise<SocketInfo[]>

    Chrome 121 lub nowsza

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.

listen()

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

Nasłuchuje połączeń na określonym porcie i adresie. Jeśli port lub adres jest używany, wywołanie zwrotne wskazuje błąd.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • adres

    tekst

    Adres urządzenia lokalnego.

  • port

    liczba

    Port komputera lokalnego. Gdy ta opcja jest ustawiona na 0, port jest wybierany dynamicznie. Dynamicznie przydzielony port można znaleźć, wywołując getInfo.

  • zaległości,

    number opcjonalny

    Długość kolejki nasłuchiwania gniazda. Wartość domyślna zależy od systemu operacyjnego (SOMAXCONN), co zapewnia rozsądną długość kolejki w przypadku większości aplikacji.

  • callback

    funkcja

    Parametr callback wygląda tak:

    (result: number) => void

    • wynik

      liczba

      Kod wyniku zwrócony z wywołania sieciowego. Wartość ujemna oznacza błąd.

setPaused()

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

Włącza lub wyłącza gniazdo nasłuchujące, aby akceptowało nowe połączenia. Po wstrzymaniu gniazdo nasłuchujące akceptuje nowe połączenia, dopóki jego kolejka (patrz funkcja listen) nie zostanie zapełniona, a potem odrzuca dodatkowe żądania połączenia. Zdarzenia onAccept są wywoływane tylko wtedy, gdy gniazdo nie jest wstrzymane.

Parametry

  • socketId

    liczba

  • wstrzymana

    wartość logiczna

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 121 lub nowsza

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.

update()

Obietnica
chrome.sockets.tcpServer.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)
: Promise<void>

Aktualizuje właściwości gniazda.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • właściwości

    Właściwości do zaktualizowania.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 121 lub nowsza

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.

Wydarzenia

onAccept

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

Zdarzenie wywoływane po nawiązaniu połączenia z gniazdem serwera.

Parametry

  • callback

    funkcja

    Parametr callback wygląda tak:

    (info: AcceptInfo) => void

onAcceptError

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

Zdarzenie wywoływane, gdy podczas oczekiwania środowiska wykonawczego na nowe połączenia na adresie gniazda i porcie wystąpi błąd sieci. Po wywołaniu tego zdarzenia gniazdo jest ustawiane na paused i nie są wywoływane żadne kolejne zdarzenia onAccept dla tego gniazda, dopóki nie zostanie ono wznowione.

Parametry