chrome.sockets.tcp

Opis

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

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, np. wycofanego interfejsu API [socket](../socket/).

DnsQueryType

Chrome 103 lub nowsza

Ustawienia rozpoznawania nazw DNS. Domyślna wartość to any. Używa ona 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 z wywołania sieciowego.

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

    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

    number opcjonalny

    Rozmiar bufora używanego do odbierania danych. Jeśli rozmiar bufora nie został określony, wartość nie jest podawana.

  • Połączono

    wartość logiczna

    Flaga z informacją, czy gniazdo jest połączone ze zdalnym urządzeniem.

  • localAddress

    ciąg znaków opcjonalny

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

  • localPort

    number opcjonalny

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

  • peerAddress

    ciąg znaków opcjonalny

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

  • peerPort

    number opcjonalny

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

  • trwałe,

    wartość logiczna

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

  • socketId

    liczba

    Identyfikator gniazda.

SocketProperties

Właściwości

  • bufferSize

    number opcjonalny

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

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

TLSVersionConstraints

Właściwości

  • maksimum

    ciąg znaków opcjonalny

  • min

    ciąg znaków opcjonalny

    Minimalna i maksymalna akceptowalna 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 wartość min jest ustawiona na jedną z tych wartości, zostanie ona automatycznie ograniczona do wartości tls1.2. Jeśli parametr max ma jedną z tych wartości lub inną nierozpoznaną wartość, zostanie zignorowany.

Metody

close()

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

Zamyka gniazdo i zwalnia adres lub port, do którego jest ono przypisane. Każde utworzone gniazdo powinno zostać zamknięte po użyciu. Identyfikator gniazda przestaje być ważny w momencie wywołania 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.

connect()

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

Łączy gniazdo z komputerem zdalnym. Gdy operacja connect zakończy się powodzeniem, po otrzymaniu danych od urządzenia równorzędnego wywoływane są zdarzenia onReceive. Jeśli podczas odbierania pakietów przez środowisko wykonawcze wystąpi błąd sieci, zostanie wywołane zdarzenie onReceiveError. Od tego momentu do czasu wywołania metody resume dla tego gniazda nie będzie wywoływane żadne zdarzenie onReceive.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • peerAddress

    tekst

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

  • peerPort

    liczba

    Port komputera zdalnego.

  • dnsQueryType

    DnsQueryType opcjonalny

    Chrome 103 lub nowsza

    Preferencje dotyczące rozpoznawania adresów.

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

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

Odłącza gniazdo.

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

secure()

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

Nawiąż połączenie klienta TLS za pomocą połączonego gniazda klienta TCP.

Parametry

  • socketId

    liczba

    Istniejące, połączone gniazdo do użycia.

  • 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 na podanym gnieździe 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 dla połączenia TCP.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • włącz

    wartość logiczna

    Jeśli wartość to „true”, włącz funkcję utrzymywania aktywności.

  • opóźnienia

    number opcjonalny

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

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

setNoDelay()

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

Ustawia lub czyści TCP_NODELAY dla połączenia TCP. Algorytm Nagle'a zostanie wyłączony, gdy ustawiona jest wartość TCP_NODELAY.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • noDelay

    wartość logiczna

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

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

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

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

    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

onReceive

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

Zdarzenie wywoływane po otrzymaniu danych dla danego gniazda.

Parametry

onReceiveError

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

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

Parametry