chrome.sockets.tcp

Opis

Używaj interfejsu API chrome.sockets.tcp do wysyłania i odbierania danych przez sieć za pomocą 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

CreateInfo

Właściwości

  • socketId

    liczba

    Identyfikator nowo utworzonego gniazda. 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/).

DnsQueryType

Chrome 103 lub nowsza wersja

Ustawienia rozpoznawania nazw DNS. Domyślna wartość to any i używa bieżącej konfiguracji systemu operacyjnego, która może zwracać adres IPv4 lub IPv6. ipv4 wymusza IPv4, a ipv6 wymusza IPv6.

Typ wyliczeniowy

"any"

"ipv4"

"ipv6"

ReceiveErrorInfo

Właściwości

  • resultCode

    liczba

    Kod wyniku zwrócony przez wywołanie sieciowe.

  • socketId

    liczba

    Identyfikator gniazda.

ReceiveInfo

Właściwości

  • dane

    ArrayBuffer

    Otrzymane dane o maksymalnym rozmiarze bufferSize.

  • socketId

    liczba

    Identyfikator gniazda.

SecureOptions

Właściwości

SendInfo

Właściwości

  • bytesSent

    number optional

    Liczba wysłanych bajtów (jeśli wynik == 0)

  • resultCode

    liczba

    Kod wyniku zwrócony przez wywołanie sieciowe. Wartość ujemna oznacza błąd.

SocketInfo

Właściwości

  • bufferSize

    number optional

    Rozmiar bufora używanego do odbierania danych. Jeśli nie określono wyraźnie rozmiaru bufora, wartość nie jest podawana.

  • Połączono

    wartość logiczna

    Flaga wskazująca, czy gniazdo jest połączone ze zdalnym węzłem.

  • localAddress

    ciąg znaków opcjonalny

    Jeśli bazowe gniazdo jest połączone, zawiera lokalny adres IPv4/6.

  • localPort

    number optional

    Jeśli bazowe gniazdo jest połączone, zawiera jego 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 połączone gniazdo blokuje wysyłanie przez element równorzędny większej ilości danych (patrz setPaused).

  • peerAddress

    ciąg znaków opcjonalny

    Jeśli gniazdo jest połączone, zawiera adres IPv4/6 peera.

  • peerPort

    number optional

    Jeśli bazowe gniazdo jest połączone, zawiera port peera.

  • trwałe

    wartość logiczna

    Flaga z informacją, czy gniazdo pozostaje otwarte, gdy aplikacja jest zawieszona (patrz SocketProperties.persistent).

  • socketId

    liczba

    Identyfikator gniazda.

SocketProperties

Właściwości

  • bufferSize

    number optional

    Rozmiar bufora używanego do odbierania danych. Wartością domyślną jest 4096.

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

TLSVersionConstraints

Właściwości

  • maksimum

    ciąg znaków opcjonalny

  • min

    ciąg znaków opcjonalny

    Minimalna i maksymalna akceptowana wersja TLS. Obsługiwane wartości to tls1.2 lub tls1.3.

    Wartości tls1 i tls1.1 nie są już obsługiwane. Jeśli zasada min jest ustawiona na jedną z tych wartości, zostanie ona automatycznie zmieniona na tls1.2. Jeśli zasada max jest ustawiona na jedną z tych wartości lub inną nierozpoznaną wartość, zostanie ona zignorowana bez powiadomienia.

Metody

close()

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

Zamyka gniazdo i zwalnia adres/port, z którym jest ono powiązane. 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.

connect()

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

Łączy gniazdo z komputerem zdalnym. Po pomyślnym zakończeniu operacji connect zdarzenia onReceive są wywoływane, gdy dane są odbierane od połączenia równorzędnego. Jeśli podczas odbierania pakietów przez środowisko wykonawcze wystąpi błąd sieci, zostanie wywołane zdarzenie onReceiveError. Od tego momentu nie będzie już wywoływane zdarzenie onReceive dla tego gniazda, dopóki nie zostanie wywołana metoda resume.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • peerAddress

    tekst

    Adres komputera zdalnego. Obsługiwane są nazwy DNS oraz formaty IPv4 i IPv6.

  • peerPort

    liczba

    Port komputera zdalnego.

  • dnsQueryType

    DnsQueryType opcjonalne

    Chrome 103 lub nowsza wersja

    Ustawienie rozpoznawania adresu.

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

create()

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

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

Rozłącza gniazdo.

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

secure()

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

Nawiąż połączenie klienta TLS przez połączone gniazdo klienta TCP.

Parametry

  • socketId

    liczba

    Istniejące, połączone gniazdo, którego chcesz użyć.

  • Opcje

    SecureOptions opcjonalny

    Ograniczenia i parametry połączenia TLS.

  • callback

    funkcja

    Parametr callback wygląda tak:

    (result: number) => void

    • wynik

      liczba

send()

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

Wysyła dane przez podane gniazdo TCP.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • dane

    ArrayBuffer

    Dane do wysłania.

  • callback

    funkcja

    Parametr callback wygląda tak:

    (sendInfo: SendInfo) => void

setKeepAlive()

chrome.sockets.tcp.setKeepAlive(
  socketId: number,
  enable: boolean,
  delay?: number,
  callback: function,
)
: void

Włącza lub wyłącza funkcję utrzymywania aktywności połączenia TCP.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • włącz

    wartość logiczna

    Jeśli ma wartość true, włącz funkcję utrzymywania połączenia.

  • opóźnienia

    number optional

    Ustaw opóźnienie w sekundach między ostatnim odebranym pakietem danych a pierwszą próbą utrzymania połączenia. Wartość domyślna to 0.

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

setNoDelay()

chrome.sockets.tcp.setNoDelay(
  socketId: number,
  noDelay: boolean,
  callback: function,
)
: void

Ustawia lub usuwa TCP_NODELAY dla połączenia TCP. Gdy ustawiona jest wartość TCP_NODELAY, algorytm Nagle'a jest wyłączony.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • noDelay

    wartość logiczna

    Jeśli ma wartość Prawda, wyłącza algorytm Nagle'a.

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

Włącza lub wyłącza możliwość odbierania przez aplikację wiadomości od aplikacji równorzędnej. Wartość domyślna to „false”. Wstrzymanie gniazda jest zwykle używane przez aplikację do ograniczania danych wysyłanych przez jej odpowiednik. Gdy gniazdo jest wstrzymane, zdarzenie onReceive nie jest wywoływane. Gdy gniazdo jest połączone i nie jest wstrzymane, zdarzenia onReceive są ponownie wywoływane po odebraniu wiadomości.

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

onReceive

chrome.sockets.tcp.onReceive.addListener(
  callback: function,
)

Zdarzenie wywoływane po odebraniu danych dla danego gniazda.

Parametry

onReceiveError

chrome.sockets.tcp.onReceiveError.addListener(
  callback: function,
)

Zdarzenie wywoływane, gdy wystąpi błąd sieci, podczas gdy środowisko wykonawcze czeka na dane na adresie i porcie gniazda. Po wywołaniu tego zdarzenia gniazdo jest ustawiane na paused i nie są już wywoływane żadne zdarzenia onReceive dla tego gniazda.

Parametry