chrome.sockets.tcp

Opis

Używaj interfejsu chrome.sockets.tcp API do wysyłania i odbierania danych przez sieć 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 [socket](../socket/) API.

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.

  • Podłączono

    Wartość logiczna

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

  • localAddress

    string 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 swój port lokalny.

  • nazwa

    string 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

    string 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 urządzenia równorzędnego.

  • 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

    string 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 można pobrać wszystkie gniazda otwarte wcześniej z ustawieniem persistent=true za pomocą funkcji getSockets.

TLSVersionConstraints

Właściwości

  • maksimum

    string opcjonalny

  • min

    string opcjonalny

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

    Wartości tls1tls1.1 nie są już obsługiwane. Jeśli parametr min ma jedną z tych wartości, zostanie on automatycznie ograniczony 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/port, do którego jest ono powiązane. 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 funkcji zwrotnej.

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 ze zdalnym komputerem. Gdy operacja connect zakończy się pomyślnie, 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

    ciąg znaków

    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

  • usługi

    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

Uruchom połączenie klienta TLS przez połączone gniazdo 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ę keep-alive dla połączenia TCP.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • włącz

    Wartość logiczna

    Jeśli wartość to „true”, włącz funkcję keep-alive.

  • opóźnienia

    number opcjonalny

    Ustaw liczbę sekund opóźnienia 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 usuwa 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, algorytm Nagle'a jest wyłączony.

  • 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, zdarzenia onReceive są ponownie wywoływane po otrzymaniu wiadomości.

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