chrome.socket

Opis

Interfejs API chrome.socket służy do wysyłania i odbierania danych w sieci przez połączenia TCP i UDP. Uwaga: od Chrome 33 ten interfejs API jest wycofywany i zastępuje interfejsy API sockets.udp, sockets.tcp oraz sockets.tcpServer.

Uprawnienia

socket

Typy

AcceptInfo

Właściwości

  • resultCode

    liczba

  • socketId

    liczba opcjonalnie

    Identyfikator akceptowanego gniazda.

CreateInfo

Właściwości

  • socketId

    liczba

    Identyfikator nowo utworzonego gniazda.

CreateOptions

NetworkInterface

Właściwości

  • adres

    ciąg znaków

    Dostępny adres IPv4/6.

  • nazwa

    ciąg znaków

    Nazwa bazowa adaptera. *nix będzie to zazwyczaj „eth0”, „lo” itd.

  • prefixLength

    liczba

    Długość prefiksu

ReadInfo

Właściwości

  • dane

    SlateBuffer

  • resultCode

    liczba

    wynik codeCode zwrócony z wywołania read();

RecvFromInfo

Właściwości

  • adres

    ciąg znaków

    Adres komputera zdalnego.

  • dane

    SlateBuffer

  • port

    liczba

  • resultCode

    liczba

    wynik CodeCode zwrócony z wywołania recvfrom().

SecureOptions

Właściwości

SocketInfo

Właściwości

  • Połączono

    wartość logiczna

    Wskazuje, czy gniazdo jest podłączone.

    W przypadku gniazd tcp zasada ta obowiązuje nawet po rozłączeniu zdalnego peera. Odczyt lub zapis w gniazdku może spowodować błąd, co będzie wskazywać, że to gniazdko należy odłączyć za pomocą disconnect().

    W przypadku gniazd udp wskazuje tylko, czy określono domyślny adres zdalny do odczytu i zapisu pakietów.

  • localAddress

    ciąg znaków opcjonalny

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

  • localPort

    liczba opcjonalnie

    Jeśli bazowe gniazdo jest powiązane lub połączone, zawiera jego port lokalny.

  • peerAddress

    ciąg znaków opcjonalny

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

  • peerPort

    liczba opcjonalnie

    Jeśli podstawowe gniazdo jest podłączone, zawiera port połączonego peera.

  • socketType

    Typ przekazywanego gniazda. To tcp lub udp.

SocketType

Typ wyliczeniowy

"tcp"

"udp"

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.

WriteInfo

Właściwości

  • bytesWritten

    liczba

    Liczba wysłanych bajtów lub ujemny kod błędu.

Metody

accept()

chrome.socket.accept(
  socketId: number,
  callback: function,
)

Ta metoda ma zastosowanie tylko do gniazd TCP. Rejestruje funkcję wywołania zwrotnego, która jest wywoływana po zaakceptowaniu połączenia w tym gniazdie serwera nasłuchu. Najpierw trzeba wywołać funkcję Słuchanie. Jeśli istnieje już aktywne wywołanie zwrotne odbioru, to wywołanie zwrotne zostanie natychmiast wywołane z błędem w kodzie wyniku.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (acceptInfo: AcceptInfo) => void

bind()

chrome.socket.bind(
  socketId: number,
  address: string,
  port: number,
  callback: function,
)

Wiąże lokalny adres gniazda. Obecnie nie obsługuje gniazda TCP.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • adres

    ciąg znaków

    Adres komputera lokalnego.

  • port

    liczba

    Port komputera lokalnego.

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (result: number) => void

    • wynik

      liczba

connect()

chrome.socket.connect(
  socketId: number,
  hostname: string,
  port: number,
  callback: function,
)

Umożliwia podłączenie gniazda do maszyny zdalnej (gniazda tcp). W przypadku gniazda udp określa domyślny adres, do którego wysyłane są pakiety i z których są odczytywane dla wywołań read() i write().

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • nazwa hosta

    ciąg znaków

    Nazwa hosta lub adres IP maszyny zdalnej.

  • port

    liczba

    Port komputera zdalnego.

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (result: number) => void

    • wynik

      liczba

create()

Obietnica .
chrome.socket.create(
  type: SocketType,
  options?: CreateOptions,
  callback?: function,
)

Tworzy gniazdo określonego typu, które łączy się z podanym komputerem zdalnym.

Parametry

  • Typ gniazda do utworzenia. Musi to być wartość tcp lub udp.

  • Opcje

    Opcjonalne CreateOptions

    Opcje gniazda.

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    (createInfo: CreateInfo) => void

Zwroty

  • Promise<CreateInfo>

    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.

destroy()

chrome.socket.destroy(
  socketId: number,
)

Niszczy gniazdo. Każde utworzone gniazdo powinno zostać zniszczone po użyciu.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

disconnect()

chrome.socket.disconnect(
  socketId: number,
)

Odłącza gniazdko. W przypadku gniazd UDP zasada disconnect nie jest operacją, ale można ją bezpiecznie wywołać.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

getInfo()

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

Pobiera stan danego gniazda.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    (result: SocketInfo) => void

Zwroty

  • Promise<SocketInfo>

    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.

getJoinedGroups()

chrome.socket.getJoinedGroups(
  socketId: number,
  callback: function,
)

Pobierz adresy grup multicast, do których gniazdo jest obecnie dołączone.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (groups: string[]) => void

    • grupy

      ciąg znaków[]

getNetworkList()

Obietnica .
chrome.socket.getNetworkList(
  callback?: function,
)

Pobiera informacje o adapterach lokalnych w tym systemie.

Parametry

Zwroty

  • Promise<NetworkInterface[]>

    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.

joinGroup()

chrome.socket.joinGroup(
  socketId: number,
  address: string,
  callback: function,
)

Dołącz do grupy multicast i zacznij otrzymywać od niej pakiety. Gniazdo musi być typu UDP i musi być powiązane z portem lokalnym przed wywołaniem tej metody.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • adres

    ciąg znaków

    Adres grupy, do której chcesz dołączyć. Nazwy domen nie są obsługiwane.

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (result: number) => void

    • wynik

      liczba

leaveGroup()

chrome.socket.leaveGroup(
  socketId: number,
  address: string,
  callback: function,
)

Opuść grupę multicast, która wcześniej dołączyła za pomocą joinGroup. Przed zniszczeniem gniazda lub zamknięciem nie musisz opuszczać grupy multicast. Jest ona wywoływana automatycznie przez system operacyjny.

Jeśli opuścisz grupę, router nie będzie wysyłać danych multiemisji do hosta lokalnego (przy założeniu, że żaden inny proces na hoście nadal nie jest do niej dołączony).

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • adres

    ciąg znaków

    Adres grupy, z której chcesz wyjść. Nazwy domen nie są obsługiwane.

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (result: number) => void

    • wynik

      liczba

listen()

chrome.socket.listen(
  socketId: number,
  address: string,
  port: number,
  backlog?: number,
  callback: function,
)

Ta metoda ma zastosowanie tylko do gniazd TCP. Nasłuchuje połączeń na określonym porcie i adresie. W efekcie jest to gniazdo serwera i nie można w nim używać funkcji gniazda klienta (łączenia, odczytu i zapisu).

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • adres

    ciąg znaków

    Adres komputera lokalnego.

  • port

    liczba

    Port komputera lokalnego.

  • zaległości

    liczba opcjonalnie

    Długość kolejki nasłuchiwania gniazda.

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (result: number) => void

    • wynik

      liczba

read()

chrome.socket.read(
  socketId: number,
  bufferSize?: number,
  callback: function,
)

Odczytuje dane z danego połączonego gniazda.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • bufferSize

    liczba opcjonalnie

    Rozmiar bufora odczytu.

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (readInfo: ReadInfo) => void

recvFrom()

chrome.socket.recvFrom(
  socketId: number,
  bufferSize?: number,
  callback: function,
)

Odbiera dane z danego gniazda UDP.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • bufferSize

    liczba opcjonalnie

    Rozmiar bufora odbierania.

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (recvFromInfo: RecvFromInfo) => void

secure()

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

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

Parametry

  • socketId

    liczba

    Podłączone gniazdko, 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

sendTo()

chrome.socket.sendTo(
  socketId: number,
  data: ArrayBuffer,
  address: string,
  port: number,
  callback: function,
)

Wysyła dane z danego gniazda UDP na podany adres i port.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • dane

    SlateBuffer

    Dane do zapisu.

  • adres

    ciąg znaków

    Adres komputera zdalnego.

  • port

    liczba

    Port komputera zdalnego.

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (writeInfo: WriteInfo) => void

setKeepAlive()

chrome.socket.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: boolean) => void

    • wynik

      wartość logiczna

setMulticastLoopbackMode()

chrome.socket.setMulticastLoopbackMode(
  socketId: number,
  enabled: boolean,
  callback: function,
)

Określ, czy pakiety transmisji grupowej wysyłane z hosta do grupy transmisji grupowej będą zapętlone z powrotem do hosta.

Uwaga: działanie setMulticastLoopbackMode różni się w zależności od systemu Windows i systemu Unix. Niespójność występuje tylko wtedy, gdy do tej samej grupy multiemisji przyłączono więcej niż jedną aplikację na tym samym hoście, a jednocześnie mają różne ustawienia w trybie pętli multicast. W systemie Windows aplikacje z wyłączoną pętlą nie odbierają pakietów zapętlających. w systemach typu Unix aplikacje z wyłączoną funkcją loopback nie wysyłają pakietów zapętlających się do innych aplikacji na tym samym hoście. Sprawdź MSDN: http://goo.gl/6vqbj

Wywołanie tej metody nie wymaga uprawnień do transmisji grupowej.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • włączone

    wartość logiczna

    Określ, czy chcesz włączyć tryb pętli.

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (result: number) => void

    • wynik

      liczba

setMulticastTimeToLive()

chrome.socket.setMulticastTimeToLive(
  socketId: number,
  ttl: number,
  callback: function,
)

Ustaw czas życia pakietów transmisji grupowej wysłanych do grupy.

Wywołanie tej metody nie wymaga uprawnień do transmisji grupowej.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • TTL

    liczba

    Wartość czasu życia danych.

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (result: number) => void

    • wynik

      liczba

setNoDelay()

chrome.socket.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: boolean) => void

    • wynik

      wartość logiczna

write()

chrome.socket.write(
  socketId: number,
  data: ArrayBuffer,
  callback: function,
)

Zapisuje dane w danym podłączonym gniazdku.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • dane

    SlateBuffer

    Dane do zapisu.

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (writeInfo: WriteInfo) => void