chrome.sockets.udp

Opis

Interfejs API chrome.sockets.udp służy do wysyłania i odbierania danych w sieci przez połączenia UDP. Ten interfejs API zastępuje funkcję UDP znalezioną wcześniej w „socket” API.

Plik manifestu

Aby używać tego interfejsu API, należy 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, na przykład z wycofanym interfejsem [socket](../socket/) API.

DnsQueryType

Chrome 103 i nowsze wersje .

Ustawienia rozpoznawania nazw DNS. Wartość domyślna to any i używa bieżącej konfiguracji systemu operacyjnego, która może zwracać IPv4 lub IPv6. Parametr ipv4 wymusza stosowanie IPv4, a ipv6 wymusza stosowanie IPv6.

Typ wyliczeniowy

"any"

"ipv4"

"ipv6"

ReceiveErrorInfo

Właściwości

  • resultCode

    liczba

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

  • socketId

    liczba

    Identyfikator gniazda.

ReceiveInfo

Właściwości

  • dane

    SlateBuffer

    Zawartość pakietu UDP (skrócona do bieżącego rozmiaru bufora).

  • remoteAddress

    ciąg znaków

    Adres hosta, z którego pochodzi pakiet.

  • remotePort

    liczba

    Port hosta, z którego pochodzi pakiet.

  • socketId

    liczba

    Identyfikator gniazda.

SendInfo

Właściwości

  • bytesSent

    liczba opcjonalnie

    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

    liczba opcjonalnie

    Rozmiar bufora używanego do odbierania danych. Jeśli nie określono wyraźnie rozmiaru bufora, wartość nie jest podana.

  • localAddress

    ciąg znaków opcjonalny

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

  • localPort

    liczba opcjonalnie

    Jeśli bazowe gniazdo jest powiązane, zawiera swój port lokalny.

  • nazwa

    ciąg znaków opcjonalny

    Zdefiniowany przez aplikację ciąg powiązany z gniazdem.

  • wstrzymana

    wartość logiczna

    Flaga z informacją, czy uruchamianie zdarzeń dla gniazda jest zablokowane.

  • trwała

    wartość logiczna

    Flaga z informacją, czy gniazdo jest otwarte, gdy aplikacja jest zawieszona (patrz SocketProperties.persistent).

  • socketId

    liczba

    Identyfikator gniazda.

SocketProperties

Właściwości

  • bufferSize

    liczba opcjonalnie

    Rozmiar bufora używanego do odbierania danych. Jeśli bufor jest zbyt mały, aby odebrać pakiet UDP, dane zostaną utracone. Wartością domyślną jest 4096.

  • nazwa

    ciąg znaków opcjonalny

    Zdefiniowany przez aplikację ciąg powiązany z gniazdem.

  • trwała

    Wartość logiczna opcjonalna

    Flaga z informacją, czy gniazdo jest otwarte, gdy strona zdarzenia aplikacji jest wyładowywana (zobacz Zarządzanie cyklem życia aplikacji). Wartość domyślna to „false” (fałsz). Podczas wczytywania aplikacji wszystkie gniazda otwarte wcześniej z ustawieniem trwały=true można pobrać za pomocą funkcji getSockets.

Metody

bind()

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

Wiąże adres lokalny i port gniazda. W przypadku gniazda klienta zalecamy użycie portu 0, aby platforma mogła wybrać wolny port.

Po pomyślnym zakończeniu operacji bind zdarzenia onReceive są wywoływane po otrzymaniu pakietów UDP pod podanym adresem lub portem – chyba że gniazdo zostało wstrzymane.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • adres

    ciąg znaków

    Adres komputera lokalnego. Obsługiwane są nazwy DNS, formaty IPv4 i IPv6. Wpisz „0.0.0.0” w celu akceptowania pakietów ze wszystkich dostępnych lokalnie interfejsów sieciowych.

  • port

    liczba

    Port komputera lokalnego. Wpisz „0” w celu jego powiązania z wolnym portem.

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (result: number) => void

    • wynik

      liczba

      Kod wyniku zwrócony z wywołania sieciowego. Wartość ujemna oznacza błąd.

close()

Obietnica .
chrome.sockets.udp.close(
  socketId: number,
  callback?: function,
)

Zamyka gniazdo i zwalnia adres/port, z którym jest powiązane. Po użyciu każdego gniazda należy zamknąć. Identyfikator gniazda stracił ważność, gdy tylko funkcja zostanie wywołana. Gwarantujemy jednak, że gniazdo zostanie zamknięte tylko po wywołaniu wywołania zwrotnego.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Obietnica<void>

    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.

create()

Obietnica .
chrome.sockets.udp.create(
  properties?: SocketProperties,
  callback?: function,
)

Tworzy gniazdo UDP o podanych właściwościach.

Parametry

  • usługi

    SocketPropertiesopcjonalne

    Właściwości gniazda (opcjonalnie).

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    (createInfo: CreateInfo) => void

Zwroty

  • Promise&lt;CreateInfo&gt;

    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.

getInfo()

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

Pobiera stan danego gniazda.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    (socketInfo: SocketInfo) => void

    • socketInfo

      Obiekt zawierający informacje o gniazdie.

Zwroty

  • Promise&lt;SocketInfo&gt;

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

Obietnica .
chrome.sockets.udp.getJoinedGroups(
  socketId: number,
  callback?: function,
)

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

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    (groups: string[]) => void

    • grupy

      ciąg znaków[]

      Tablica grup, do których zostało połączone gniazdo.

Zwroty

  • Promise&lt;string[]&gt;

    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.

getSockets()

Obietnica .
chrome.sockets.udp.getSockets(
  callback?: function,
)

Pobiera listę obecnie otwartych gniazd należących do aplikacji.

Parametry

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    (socketInfos: SocketInfo[]) => void

    • socketInfos

      Tablica obiektu z informacjami o gniazdie.

Zwroty

  • Promise&lt;SocketInfo[]&gt;

    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.sockets.udp.joinGroup(
  socketId: number,
  address: string,
  callback: function,
)

Dołącza do grupy multicast i zaczyna otrzymywać z niej pakiety. Przed wywołaniem tej metody gniazdo musi być powiązane z portem lokalnym.

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

      Kod wyniku zwrócony z wywołania sieciowego. Wartość ujemna oznacza błąd.

leaveGroup()

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

Opuszcza grupę multicast, która wcześniej dołączyła za pomocą joinGroup. Jest to konieczne tylko wtedy, gdy planujesz nadal korzystać z gniazdka w przyszłości, ponieważ system operacyjny zrobi to automatycznie po zamknięciu gniazda.

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, który chcesz opuścić. Nazwy domen nie są obsługiwane.

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (result: number) => void

    • wynik

      liczba

      Kod wyniku zwrócony z wywołania sieciowego. Wartość ujemna oznacza błąd.

send()

chrome.sockets.udp.send(
  socketId: number,
  data: ArrayBuffer,
  address: string,
  port: number,
  dnsQueryType?: DnsQueryType,
  callback: function,
)

Wysyła dane z danego gniazda do podanego adresu i portu. Przed wywołaniem tej metody gniazdo musi być powiązane z portem lokalnym.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • dane

    SlateBuffer

    Dane do wysłania.

  • adres

    ciąg znaków

    Adres komputera zdalnego.

  • port

    liczba

    Port komputera zdalnego.

  • dnsQueryType

    Opcjonalny DnsQueryType

    Chrome 103 i nowsze wersje .

    Preferencje dotyczące rozdzielczości adresu.

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (sendInfo: SendInfo) => void

setBroadcast()

Chrome w wersji 44 lub nowszej .
chrome.sockets.udp.setBroadcast(
  socketId: number,
  enabled: boolean,
  callback: function,
)

Włącza lub wyłącza pakiety transmisji w tym gniazdku.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • włączone

    wartość logiczna

    true, aby włączyć przesyłanie pakietów, false, aby je wyłączyć.

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (result: number) => void

    • wynik

      liczba

      Kod wyniku zwrócony z wywołania sieciowego.

setMulticastLoopbackMode()

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

Określa, 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

      Kod wyniku zwrócony z wywołania sieciowego. Wartość ujemna oznacza błąd.

setMulticastTimeToLive()

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

Ustawia czas życia pakietów transmisji grupowej wysyłanych do grupy transmisji grupowych.

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

      Kod wyniku zwrócony z wywołania sieciowego. Wartość ujemna oznacza błąd.

setPaused()

Obietnica .
chrome.sockets.udp.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)

Wstrzymuje lub wznawia działanie gniazda. Wstrzymane gniazdo nie może uruchamiać zdarzeń onReceive.

Parametry

  • socketId

    liczba

  • wstrzymana

    wartość logiczna

    Flaga z informacją, czy wstrzymać czy wznowić.

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Obietnica<void>

    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.

update()

Obietnica .
chrome.sockets.udp.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)

Aktualizuje właściwości gniazda.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • Właściwości do zaktualizowania.

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Obietnica<void>

    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.

Wydarzenia

onReceive

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

Zdarzenie wywoływane po otrzymaniu pakietu UDP dla danego gniazda.

Parametry

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (info: ReceiveInfo) => void

onReceiveError

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

Zdarzenie wywoływane, gdy błąd sieci wystąpił, gdy środowisko wykonawcze czekało na dane dotyczące adresu gniazda i portu. Po podniesieniu tego gniazda gniazdo zostaje wstrzymane i nie będą dla niego wywoływane żadne zdarzenia onReceive, dopóki nie zostanie ono wznowione.

Parametry