chrome.socket

Opis

Używaj interfejsu chrome.socket API do wysyłania i odbierania danych w sieci przez połączenia TCP i UDP. Uwaga: od Chrome 33 ten interfejs API został wycofany i zastąpiony interfejsami API sockets.udp, sockets.tcp i 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

    string,

    Dostępny adres IPv4/6.

  • nazwa

    string,

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

  • prefixLength

    Liczba

    Długość prefiksu

ReadInfo

Właściwości

  • dane

    ArrayBuffer

  • resultCode

    Liczba

    Kod wyniku zwrócony z bazowego wywołania read().

RecvFromInfo

Właściwości

  • adres

    string,

    Adres komputera zdalnego.

  • dane

    ArrayBuffer

  • port

    Liczba

  • resultCode

    Liczba

    Wynikowy kod wyniku zwrócony przez bazowe wywołanie recvfrom().

SecureOptions

Właściwości

SocketInfo

Właściwości

  • Połączono

    boolean

    Wskazuje, czy podstawowe gniazdo jest podłączone.

    W przypadku gniazd tcp to ustawienie obowiązuje nawet wtedy, gdy zdalny połączenie równorzędne się rozłączy. W związku z tym odczyt lub zapis w gnieździe może spowodować błąd i wskazać, że należy je odłączyć przez disconnect().

    W przypadku gniazd udp wskazuje tylko, czy został określony domyślny adres zdalny do odczytu i zapisywania 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 podłączone, zawiera jego port lokalny.

  • peerAddress

    ciąg znaków opcjonalny

    Jeśli bazowe gniazdo jest podłączone, zawiera adres IPv4/6 połączenia równorzędnego.

  • peerPort

    Liczba opcjonalnie

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

  • socketType

    Typ przekazanego gniazda. To będzie tcp lub udp.

SocketType

Enum

"tcp"

"udp"

TLSVersionConstraints

Właściwości

  • maksimum

    ciąg znaków opcjonalny

  • min

    ciąg znaków opcjonalny

    Minimalna i maksymalna akceptowalna 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 max jest ustawiony na jedną z tych wartości lub dowolną inną nierozpoznaną wartość, zostanie dyskretnie zignorowana.

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 zostanie wywołana po zaakceptowaniu połączenia przez to gniazdo serwera nasłuchującego. Najpierw należy wywołać nasłuchiwanie. Jeśli istnieje już aktywne wywołanie zwrotne zatwierdzające, to wywołanie zwrotne zostanie natychmiast wywołane z błędem jako wynikiem kodu.

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 adres lokalny gniazda. Obecnie nie obsługuje on gniazd TCP.

Parametry

  • socketId

    Liczba

    Identyfikator gniazda.

  • adres

    string,

    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 gniazdka do komputera zdalnego (w przypadku gniazdka tcp). W przypadku gniazda udp ta opcja ustawia domyślny adres, do którego pakiety są wysyłane i odczytywane w przypadku wywołań funkcji read() i write().

Parametry

  • socketId

    Liczba

    Identyfikator gniazda.

  • nazwa hosta

    string,

    Nazwa hosta lub adres IP komputera zdalnego.

  • 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 określoną maszyną zdalną.

Parametry

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

  • Opcje

    Opcjonalnie CreateOptions

    Opcje gniazd.

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    (createInfo: CreateInfo)=>void

Akcje powrotne

  • Promise<CreateInfo>

    Chrome 121 i nowsze wersje

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. 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 interfejs disconnect nie jest obsługiwany, ale można go 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 opcjonalnie

    Parametr callback wygląda tak:

    (result: SocketInfo)=>void

Akcje powrotne

  • Promise<SocketInfo>

    Chrome 121 i nowsze wersje

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.

getJoinedGroups()

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

Pobierz adresy grupy połączeń grupowych, do których gniazdo jest obecnie przyłączone.

Parametry

  • socketId

    Liczba

    Identyfikator gniazda.

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (groups: string[])=>void

    • grupy

      string[]

getNetworkList()

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

Pobiera informacje o adapterach lokalnych w tym systemie.

Parametry

Akcje powrotne

  • Promise<NetworkInterface[]>

    Chrome 121 i nowsze wersje

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.

joinGroup()

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

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

Parametry

  • socketId

    Liczba

    Identyfikator gniazda.

  • adres

    string,

    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ę multiemisji, która wcześniej dołączyła, korzystając z joinGroup. Nie musisz opuszczać grupy multiemisji przed zniszczeniem gniazda ani jego wyjściem. Jest ona automatycznie wywoływana przez system operacyjny.

Jeśli opuścisz grupę, router nie będzie mógł wysyłać datagramów multiemisji do hosta lokalnego, przy założeniu, że żaden inny proces na hoście nie będzie nadal dołączony do grupy.

Parametry

  • socketId

    Liczba

    Identyfikator gniazda.

  • adres

    string,

    Adres grupy do opuszczenia. 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. Wykrywa połączenia na określonym porcie i adresie. Dzięki temu jest to gniazdo serwera i nie można w nim już używać funkcji gniazda klienta (łączenia, odczytu i zapisu).

Parametry

  • socketId

    Liczba

    Identyfikator gniazda.

  • adres

    string,

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

Odczyt danych z danego podłączonego gniazdka.

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 podanego 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,
)

Nawiąż połączenie z klientem TLS przez podłączone gniazdo klienta TCP.

Parametry

  • socketId

    Liczba

    Podłączone gniazdo, które ma być używane.

  • Opcje

    Opcjonalny 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 w podanym gniazdu UDP do podanego adresu i portu.

Parametry

  • socketId

    Liczba

    Identyfikator gniazda.

  • dane

    ArrayBuffer

    Dane do zapisu.

  • adres

    string,

    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 dla połączenia TCP.

Parametry

  • socketId

    Liczba

    Identyfikator gniazda.

  • enable

    boolean

    Jeśli ma wartość prawda, włącz funkcję utrzymywania aktywności.

  • opóźnienia

    Liczba opcjonalnie

    Ustaw liczbę sekund opóźnienia między ostatnim odebranym pakietem danych a pierwszą sondą utrzymującą aktywność. Wartość domyślna to 0.

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (result: boolean)=>void

    • wynik

      boolean

setMulticastLoopbackMode()

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

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

Uwaga: setMulticastLoopbackMode działa nieco inaczej w systemach Windows i uniksowych. Niespójność występuje tylko wtedy, gdy na tym samym hoście jest więcej niż jedna aplikacja na tym samym hoście przyłączona do tej samej grupy transmisji multiemisji i gdy różne ustawienia w trybie pętli wielu transmisji są różne. W systemie Windows aplikacje z wyłączonym sprzężeniem zwrotnym nie będą otrzymywały pakietów loopback. W systemach takich jak uniksowe aplikacje z wyłączonym sprzężeniem zwrotnym nie będą WYSŁAĆ pakietów do innych aplikacji korzystających z tego samego hosta. Numer MSDN: http://goo.gl/6vqbj

Wywołanie tej metody nie wymaga uprawnień multiemisji.

Parametry

  • socketId

    Liczba

    Identyfikator gniazda.

  • włączone

    boolean

    Określ, czy chcesz włączyć tryb zapętlenia.

  • 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 multiemisji wysyłanych do grupy multiemisji.

Wywołanie tej metody nie wymaga uprawnień multiemisji.

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

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

Parametry

  • socketId

    Liczba

    Identyfikator gniazda.

  • noDelay

    boolean

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

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (result: boolean)=>void

    • wynik

      boolean

write()

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

Zapisuje dane w danym połączonym gniazdku.

Parametry

  • socketId

    Liczba

    Identyfikator gniazda.

  • dane

    ArrayBuffer

    Dane do zapisu.

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (writeInfo: WriteInfo)=>void