chrome.sockets.tcpServer

Opis

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

Plik manifestu

Aby używać tego interfejsu API, musisz zadeklarować te klucze w pliku manifestu.

"sockets"

Typy

AcceptErrorInfo

Właściwości

  • resultCode

    liczba

    Kod wyniku zwrócony przez wywołanie sieciowe.

  • socketId

    liczba

    Identyfikator gniazda serwera.

AcceptInfo

Właściwości

  • clientSocketId

    liczba

    Identyfikator gniazda klienta, czyli identyfikator gniazda nowo nawiązanego połączenia. Tego identyfikatora gniazda należy używać tylko z funkcjami z przestrzeni nazw chrome.sockets.tcp. Pamiętaj, że gniazdo klienta jest początkowo wstrzymane i musi zostać jawnie wznowione przez aplikację, aby mogło zacząć odbierać dane.

  • 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, takich jak wycofany interfejs 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 optional

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

  • nazwa

    ciąg znaków opcjonalny

    Zdefiniowany przez aplikację ciąg znaków powiązany z gniazdem.

  • wstrzymana

    wartość logiczna

    Flaga wskazująca, czy żądania połączenia w nasłuchującym gnieździe są wysyłane przez zdarzenie 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, gdy strona zdarzenia aplikacji jest wyładowana (patrz SocketProperties.persistent). Wartość domyślna to „false”.

  • socketId

    liczba

    Identyfikator gniazda.

SocketProperties

Właściwości

  • nazwa

    ciąg znaków opcjonalny

    Zdefiniowany przez aplikację ciąg znaków powiązany z gniazdem.

  • trwałe

    boolean opcjonalne

    Flaga wskazująca, czy gniazdo pozostaje otwarte po wyładowaniu strony zdarzenia aplikacji (patrz Zarządzanie cyklem życia aplikacji). Wartość domyślna to „false”. Po wczytaniu 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, gdy tylko funkcja zostanie wywołana. Gniazdo zostanie jednak zamknięte dopiero po wywołaniu funkcji zwrotnej.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    () => void

Zwroty

  • thought Promise<void>

    Chrome 121 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy 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 (opcjonalnie).

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    (createInfo: CreateInfo) => void

Zwroty

  • Promise<CreateInfo>

    Chrome 121 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy 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, z którym jest powiązane gniazdo. Identyfikator gniazda pozostaje ważny, np. można go użyć z listen, aby akceptować połączenia na nowym porcie i adresie.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    () => void

Zwroty

  • thought Promise<void>

    Chrome 121 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy 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

    function opcjonalne

    Parametr callback wygląda tak:

    (socketInfo: SocketInfo) => void

    • socketInfo

      Obiekt zawierający informacje o gnieździe.

Zwroty

  • Promise<SocketInfo>

    Chrome 121 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy 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

    function opcjonalne

    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 wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy 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. Jeśli ustawisz wartość 0, wolny port będzie wybierany dynamicznie. Dynamicznie przydzielony port można znaleźć, wywołując getInfo.

  • zaległości

    number optional

    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 przez wywołanie sieciowe. Wartość ujemna oznacza błąd.

setPaused()

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

Włącza lub wyłącza akceptowanie nowych połączeń przez gniazdo nasłuchujące. Po wstrzymaniu gniazdo nasłuchujące akceptuje nowe połączenia, dopóki jego zaległości (patrz funkcja listen) nie zostaną zapełnione, a następnie odrzuca dodatkowe żądania połączenia. Zdarzenia onAccept są wywoływane tylko wtedy, gdy gniazdo nie jest wstrzymane.

Parametry

  • socketId

    liczba

  • wstrzymana

    wartość logiczna

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    () => void

Zwroty

  • thought Promise<void>

    Chrome 121 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy 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

    function opcjonalne

    Parametr callback wygląda tak:

    () => void

Zwroty

  • thought Promise<void>

    Chrome 121 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy 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 wystąpi błąd sieci, gdy środowisko wykonawcze czeka na nowe połączenia na adresie i porcie gniazda. Po wywołaniu tego zdarzenia gniazdo jest ustawiane na paused i nie są już wywoływane żadne zdarzenia onAccept dla tego gniazda, dopóki nie zostanie ono wznowione.

Parametry