chrome.socket

Opis

Wysyłaj i odbieraj dane w sieci za pomocą połączeń TCP i UDP za pomocą interfejsu chrome.socket API. Uwaga: od wersji Chrome 33 ten interfejs API został wycofany na rzecz interfejsów sockets.udp, sockets.tcp i sockets.tcpServer.

Uprawnienia

socket

Typy

AcceptInfo

Właściwości

  • resultCode

    liczba

  • socketId

    number opcjonalny

    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

    Podstawowa nazwa karty. W systemie *nix będzie to zwykle „eth0”, „lo” itp.

  • prefixLength

    liczba

    Długość prefiksu

ReadInfo

Właściwości

  • dane

    ArrayBuffer

  • resultCode

    liczba

    Kod wyniku zwrócony przez wywołanie metody read().

RecvFromInfo

Właściwości

  • adres

    ciąg znaków

    Adres maszyny zdalnej.

  • dane

    ArrayBuffer

  • port

    liczba

  • resultCode

    liczba

    Kod wyniku zwrócony przez wywołanie podstawowej funkcji recvfrom().

SecureOptions

Właściwości

SocketInfo

Właściwości

  • Połączono

    wartość logiczna

    Informacja, czy podstawowa gniazda jest połączona.

    W przypadku gniazd tcp będzie to prawda nawet wtedy, gdy zdalny peer zostanie odłączony. Odczyt lub zapisywanie danych w gniezdziu może spowodować błąd, co sugeruje, że gniazdo powinno zostać odłączone za pomocą funkcji disconnect().

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

  • localAddress

    ciąg znaków opcjonalny

    Jeśli podstawowy gniazdo jest powiązane lub połączone, zawiera lokalny adres IPv4 lub IPv6.

  • localPort

    number opcjonalny

    Jeśli podstawa gniazda jest powiązana lub połączona, zawiera port lokalny.

  • peerAddress

    ciąg znaków opcjonalny

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

  • peerPort

    number opcjonalny

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

  • socketType

    Typ przekazanego gniazda. Będzie 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 dopuszczalna wersja TLS. Obsługiwane wartości to tls1.2 lub tls1.3.

    Wartości tls1tls1.1 nie są już obsługiwane. Jeśli min ma jedną z tych wartości, zostanie automatycznie zmieniona na tls1.2. Jeśli max ma jedną z tych wartości lub inną nierozpoznaną wartość, zostanie po cichu zignorowana.

WriteInfo

Właściwości

  • bytesWritten

    liczba

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

Metody

accept()

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

Ta metoda dotyczy tylko gniazd TCP. Rejestruje funkcję wywołania zwrotnego, która zostanie wywołana po zaakceptowaniu połączenia na tym gniazdo serwera nasłuchującego. Najpierw należy wywołać Listen. Jeśli istnieje już aktywne wywołanie zwrotne accept callback, zostanie ono wywołane natychmiast, a jako parametr resultCode zostanie przekazany kod błędu.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • wywołanie zwrotne

    funkcja

    Parametr callback ma postać:

    (acceptInfo: AcceptInfo) => void

bind()

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

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

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • adres

    ciąg znaków

    Adres lokalnego urządzenia.

  • port

    liczba

    Port na komputerze lokalnym.

  • wywołanie zwrotne

    funkcja

    Parametr callback ma postać:

    (result: number) => void

    • wynik

      liczba

connect()

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

Łączy gniazdo ze zdalnym komputerem (w przypadku gniazda tcp). W przypadku gniazda udp ustawia domyślny adres, na który są wysyłane i z którego są odczytywane pakiety w przypadku wywołań read()write().

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • nazwa hosta

    ciąg znaków

    Nazwa hosta lub adres IP zdalnego komputera.

  • port

    liczba

    Port komputera zdalnego.

  • wywołanie zwrotne

    funkcja

    Parametr callback ma postać:

    (result: number) => void

    • wynik

      liczba

create()

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

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

Parametry

  • Typ gniazda, które ma zostać utworzone. Musi to być tcp lub udp.

  • Opcje

    CreateOptions opcjonalne

    Opcje gniazda.

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    (createInfo: CreateInfo) => void

Zwroty

  • Obietnica<CreateInfo>

    Chrome 121 lub nowszy

    Obietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.

destroy()

chrome.socket.destroy(
  socketId: number,
)

Niszczy gniazdo. Każde utworzone gniazdo powinno zostać usunięte po użyciu.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

disconnect()

chrome.socket.disconnect(
  socketId: number,
)

Odłącza gniazdo. W przypadku gniazd UDP funkcja disconnect nie wykonuje żadnej operacji, ale można ją bezpiecznie wywołać.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

getInfo()

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

Pobiera stan danego gniazda.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    (result: SocketInfo) => void

Zwroty

  • Promise<SocketInfo>

    Chrome 121 lub nowszy

    Obietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.

getJoinedGroups()

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

Pobiera adresy grup multicast, do których jest obecnie dołączony gniazdo.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • wywołanie zwrotne

    funkcja

    Parametr callback ma postać:

    (groups: string[]) => void

    • grupy

      string[]

getNetworkList()

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

Pobiera informacje o adapterach lokalnych w tym systemie.

Parametry

Zwroty

  • Promise<NetworkInterface[]>

    Chrome 121 lub nowszy

    Obietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.

joinGroup()

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

Dołącz do grupy wielodostępnej i zacznij odbierać pakiety z tej grupy. Przed wywołaniem tej metody gniazdo musi być typu UDP i musi być powiązane z lokalnym portem.

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 ma postać:

    (result: number) => void

    • wynik

      liczba

leaveGroup()

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

Opuść grupę wielodostępową, do której wcześniej dołączyłeś, używając joinGroup. Nie musisz opuszczać grupy multicast przed zniszczeniem gniazda ani wyjściem. Jest on wywoływany automatycznie przez system operacyjny.

Opuszczanie grupy uniemożliwi routerowi wysyłanie datagramów multicast do hosta lokalnego, o ile żaden inny proces na hoście nie jest nadal dołączony do grupy.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • adres

    ciąg znaków

    Adres grupy, którą chcesz opuścić. Nazwy domen nie są obsługiwane.

  • wywołanie zwrotne

    funkcja

    Parametr callback ma postać:

    (result: number) => void

    • wynik

      liczba

listen()

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

Ta metoda dotyczy tylko gniazd TCP. Nasłuchuje połączeń na określonym porcie i adresie. W efekcie staje się to gniazdem serwera, a funkcji gniazda klienta (łącz, odczyt, zapis) nie można już używać w tym gnieździe.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • adres

    ciąg znaków

    Adres lokalnego urządzenia.

  • port

    liczba

    Port na komputerze lokalnym.

  • lista zadań

    number opcjonalny

    Długość kolejki nasłuchiwania gniazda.

  • wywołanie zwrotne

    funkcja

    Parametr callback ma postać:

    (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

    number opcjonalny

    Rozmiar bufora odczytu.

  • wywołanie zwrotne

    funkcja

    Parametr callback ma postać:

    (readInfo: ReadInfo) => void

recvFrom()

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

Odbiera dane z określonego gniazda UDP.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • bufferSize

    number opcjonalny

    Rozmiar bufora odbioru.

  • wywołanie zwrotne

    funkcja

    Parametr callback ma postać:

    (recvFromInfo: RecvFromInfo) => void

secure()

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

Uruchom połączenie klienta TLS przez połączony gniazdo klienta TCP.

Parametry

  • socketId

    liczba

    Połączone gniazdo, którego chcesz użyć.

  • Opcje

    SecureOptions opcjonalnie

    Ograniczenia i parametry połączenia TLS.

  • wywołanie zwrotne

    funkcja

    Parametr callback ma postać:

    (result: number) => void

    • wynik

      liczba

sendTo()

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

Wysyła dane na określonym gnieździe UDP na określony adres i port.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • dane

    ArrayBuffer

    Dane do zapisania.

  • adres

    ciąg znaków

    Adres maszyny zdalnej.

  • port

    liczba

    Port komputera zdalnego.

  • wywołanie zwrotne

    funkcja

    Parametr callback ma postać:

    (writeInfo: WriteInfo) => void

setKeepAlive()

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

Włącza lub wyłącza funkcję keep-alive w przypadku połączenia TCP.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • włącz

    wartość logiczna

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

  • opóźnienia

    number opcjonalny

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

  • wywołanie zwrotne

    funkcja

    Parametr callback ma postać:

    (result: boolean) => void

    • wynik

      wartość logiczna

setMulticastLoopbackMode()

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

Określ, czy pakiety multicast wysyłane z hosta do grupy multicast będą pętlą z powrotem do hosta.

Uwaga: działanie funkcji setMulticastLoopbackMode różni się nieco w systemach Windows i podobnych do Unixa. Niezgodność występuje tylko wtedy, gdy na tym samym hoście jest więcej niż 1 aplikacja dołączona do tej samej grupy multicast z różnymi ustawieniami w trybie pętli multicast. W systemie Windows aplikacje z wyłączoną pętlą nie będą ODBYWAĆ pakietów pętli, a w systemach typu Unix aplikacje z wyłączoną pętlą nie będą WYSYŁAĆ pakietów pętli do innych aplikacji na tym samym hoście. Informacje znajdziesz na stronie MSDN: http://goo.gl/6vqbj

Wywoływanie tej metody nie wymaga uprawnień multicast.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • włączone

    wartość logiczna

    Wskazać, czy chcesz włączyć tryb pętli.

  • wywołanie zwrotne

    funkcja

    Parametr callback ma postać:

    (result: number) => void

    • wynik

      liczba

setMulticastTimeToLive()

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

Ustaw czas życia pakietów multicast wysyłanych do grupy multicast.

Wywoływanie tej metody nie wymaga uprawnień multicast.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • ttl

    liczba

    Wartość czasu życia.

  • wywołanie zwrotne

    funkcja

    Parametr callback ma postać:

    (result: number) => void

    • wynik

      liczba

setNoDelay()

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

Ustawia lub czyści parametr TCP_NODELAY w przypadku połączenia TCP. Algorytm Nagle zostanie wyłączony, gdy ustawisz TCP_NODELAY.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • noDelay

    wartość logiczna

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

  • wywołanie zwrotne

    funkcja

    Parametr callback ma postać:

    (result: boolean) => void

    • wynik

      wartość logiczna

write()

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

Zapisuje dane w danym połączonym gnieździe.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • dane

    ArrayBuffer

    Dane do zapisania.

  • wywołanie zwrotne

    funkcja

    Parametr callback ma postać:

    (writeInfo: WriteInfo) => void