chrome.sockets.tcp

Opis

Interfejs API chrome.sockets.tcp służy do wysyłania i odbierania danych przez sieć przy użyciu połączeń TCP. Ten interfejs API zastępuje funkcję TCP wcześniej dostępną w interfejsie API chrome.socket.

Plik manifestu

Aby używać tego interfejsu API, należy 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, na przykład z wycofanym interfejsem [socket](../socket/) API.

DnsQueryType

Chrome 103 i nowsze wersje .

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

Typ wyliczeniowy

"any"

"ipv4"

"ipv6"

ReceiveErrorInfo

Właściwości

  • resultCode

    liczba

    Kod wyniku zwrócony z wywołania sieciowego.

  • socketId

    liczba

    Identyfikator gniazda.

ReceiveInfo

Właściwości

  • dane

    SlateBuffer

    Odebrane dane o maksymalnym rozmiarze bufferSize.

  • socketId

    liczba

    Identyfikator gniazda.

SecureOptions

Właściwości

SendInfo

Właściwości

  • bytesSent

    liczba opcjonalnie

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

  • resultCode

    liczba

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

SocketInfo

Właściwości

  • bufferSize

    liczba opcjonalnie

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

  • Połączono

    wartość logiczna

    Flaga z informacją, czy gniazdo jest połączone ze zdalnym połączeniem równorzędnym.

  • localAddress

    ciąg znaków opcjonalny

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

  • localPort

    liczba opcjonalnie

    Jeśli bazowe gniazdo jest podłączone, zawiera port lokalny.

  • nazwa

    ciąg znaków opcjonalny

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

  • wstrzymana

    wartość logiczna

    Flaga z informacją, czy połączone gniazdo blokuje wysyłanie dalszych danych przez sieć równorzędną (patrz setPaused).

  • peerAddress

    ciąg znaków opcjonalny

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

  • peerPort

    liczba opcjonalnie

    Jeśli bazowe gniazdo jest podłączone, zawiera port równorzędny.

  • trwała

    wartość logiczna

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

  • socketId

    liczba

    Identyfikator gniazda.

SocketProperties

Właściwości

  • bufferSize

    liczba opcjonalnie

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

  • nazwa

    ciąg znaków opcjonalny

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

  • trwała

    Wartość logiczna opcjonalna

    Flaga z informacją, czy gniazdo jest otwarte, gdy strona zdarzenia aplikacji jest wyładowywana (zobacz Zarządzanie cyklem życia aplikacji). Wartość domyślna to „false” (fałsz). Podczas wczytywania aplikacji wszystkie gniazda otwarte wcześniej z ustawieniem trwały=true można pobrać za pomocą funkcji getSockets.

TLSVersionConstraints

Właściwości

  • maksimum

    ciąg znaków opcjonalny

  • min

    ciąg znaków opcjonalny

    Minimalna i maksymalna akceptowana wersja protokołu 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 ma ustawioną jedną z tych wartości, zostanie dyskretnie ograniczona do tls1.2. Jeśli zasada max ma ustawioną jedną z tych wartości lub inną nierozpoznaną wartość, zostanie dyskretnie ignorowana.

Metody

close()

Obietnica .
chrome.sockets.tcp.close(
  socketId: number,
  callback?: function,
)

Zamyka gniazdo i zwalnia adres/port, z którym jest powiązane. Po użyciu każdego gniazda należy zamknąć. Identyfikator gniazda utracił ważność, gdy tylko funkcja zostanie wywołana. Gwarantujemy jednak, że gniazdo zostanie zamknięte tylko po wywołaniu wywołania zwrotnego.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Obietnica<void>

    Chrome w wersji 121 lub nowszej .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

connect()

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

Umożliwia podłączenie gniazda do komputera zdalnego. Po zakończeniu operacji connect zdarzenia onReceive zostaną zgłoszone po otrzymaniu danych z połączenia równorzędnego. Jeśli błąd sieci występuje w czasie, gdy środowisko wykonawcze odbiera pakiety, wywoływane jest zdarzenie onReceiveError, co oznacza, że dla tego gniazda nie będzie wywoływane żadne zdarzenie onReceive do czasu wywołania metody resume.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • peerAddress

    ciąg znaków

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

  • peerPort

    liczba

    Port komputera zdalnego.

  • dnsQueryType

    Opcjonalny DnsQueryType

    Chrome 103 i nowsze wersje .

    Preferencje dotyczące rozdzielczości adresu.

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (result: number) => void

    • wynik

      liczba

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

create()

Obietnica .
chrome.sockets.tcp.create(
  properties?: SocketProperties,
  callback?: function,
)

Tworzy gniazdo TCP.

Parametry

  • usługi

    SocketPropertiesopcjonalne

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

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    (createInfo: CreateInfo) => void

Zwroty

  • Promise&lt;CreateInfo&gt;

    Chrome w wersji 121 lub nowszej .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

disconnect()

Obietnica .
chrome.sockets.tcp.disconnect(
  socketId: number,
  callback?: function,
)

Odłącza gniazdko.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Obietnica<void>

    Chrome w wersji 121 lub nowszej .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

getInfo()

Obietnica .
chrome.sockets.tcp.getInfo(
  socketId: number,
  callback?: function,
)

Pobiera stan danego gniazda.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    (socketInfo: SocketInfo) => void

    • socketInfo

      Obiekt zawierający informacje o gniazdie.

Zwroty

  • Promise&lt;SocketInfo&gt;

    Chrome w wersji 121 lub nowszej .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

getSockets()

Obietnica .
chrome.sockets.tcp.getSockets(
  callback?: function,
)

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

Parametry

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    (socketInfos: SocketInfo[]) => void

    • socketInfos

      Tablica obiektu z informacjami o gniazdie.

Zwroty

  • Promise&lt;SocketInfo[]&gt;

    Chrome w wersji 121 lub nowszej .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

secure()

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

Rozpocznij połączenie z klientem TLS przez połączone gniazdo klienta TCP.

Parametry

  • socketId

    liczba

    Istniejące gniazdo, którego chcesz używać.

  • Opcje

    Opcjonalne SecureOptions

    Ograniczenia i parametry połączenia TLS.

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (result: number) => void

    • wynik

      liczba

send()

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

Wysyła dane z danego gniazda TCP.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • dane

    SlateBuffer

    Dane do wysłania.

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (sendInfo: SendInfo) => void

setKeepAlive()

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

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 (prawda), włącz funkcję utrzymywania aktywności.

  • opóźnienia

    liczba opcjonalnie

    Ustaw opóźnienie w sekundach między ostatnim otrzymanym pakietem danych a pierwszą sondą utrzymywania aktywności. Wartość domyślna to 0.

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (result: number) => void

    • wynik

      liczba

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

setNoDelay()

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

Konfiguruje lub usuwa TCP_NODELAY dla połączenia TCP. Po ustawieniu ustawienia TCP_NODELAY algorytm Nagle zostanie wyłączony.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • noDelay

    wartość logiczna

    Jeśli ma wartość prawda, algorytm Nagle wyłącza algorytm Nagle.

  • wywołanie zwrotne

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

Włącza lub wyłącza odbieranie wiadomości od peera przez aplikację. Wartość domyślna to „false”. Wstrzymanie gniazda jest zwykle używane przez aplikację do ograniczania danych wysyłanych przez serwer równorzędny. Gdy gniazdo jest wstrzymane, nie jest wywoływane żadne zdarzenie onReceive. Gdy gniazdo jest podłączone i wznowione, zdarzenia onReceive są ponownie zgłaszane po odebraniu wiadomości.

Parametry

  • socketId

    liczba

  • wstrzymana

    wartość logiczna

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Obietnica<void>

    Chrome w wersji 121 lub nowszej .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

update()

Obietnica .
chrome.sockets.tcp.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)

Aktualizuje właściwości gniazda.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • Właściwości do zaktualizowania.

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Obietnica<void>

    Chrome w wersji 121 lub nowszej .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

Wydarzenia

onReceive

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

Zdarzenie zgłoszone po otrzymaniu danych z danego gniazda.

Parametry

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (info: ReceiveInfo) => void

onReceiveError

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

Zdarzenie wywoływane, gdy błąd sieci wystąpił, gdy środowisko wykonawcze czekało na dane dotyczące adresu gniazda i portu. Po wywołaniu tego zdarzenia gniazdo jest ustawione na paused i nie są dla niego wywoływane żadne zdarzenia onReceive.

Parametry