chrome.sockets.udp

Opis

Wysyłaj i odbieraj dane w sieci za pomocą połączeń UDP, korzystając z interfejsu chrome.sockets.udp API. Ten interfejs API zastępuje funkcję UDP, która była wcześniej dostępna w interfejsie „socket”.

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, takich jak wycofany interfejs API [socket](../socket/).

DnsQueryType

Chrome w wersji 103 lub nowszej

Ustawienia rozpoznawania nazw DNS. Domyślnie jest to any i używa bieżącej konfiguracji systemu operacyjnego, która może zwracać adres IPv4 lub IPv6. ipv4 wymusza IPv4, a ipv6 wymusza IPv6.

Typ wyliczeniowy

„dowolna”

"ipv4"

"ipv6"

ReceiveErrorInfo

Właściwości

  • resultCode

    liczba

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

  • socketId

    liczba

    Identyfikator gniazda.

ReceiveInfo

Właściwości

  • dane

    ArrayBuffer

    Treść pakietu UDP (obcięta 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

    numer opcjonalny

    Liczba wysłanych bajtów (jeśli wynik == 0).

  • resultCode

    liczba

    Kod wyniku zwrócony przez wywołanie sieci. Wartość ujemna wskazuje błąd.

SocketInfo

Właściwości

  • bufferSize

    numer opcjonalny

    Rozmiar bufora używanego do odbierania danych. Jeśli rozmiar bufora nie został wyraźnie określony, nie podaje się jego wartości.

  • localAddress

    string opcjonalny

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

  • localPort

    numer opcjonalny

    Jeśli podstawowy gniazdo jest powiązane, zawiera lokalny port.

  • nazwa

    string opcjonalny

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

  • wstrzymana

    wartość logiczna

    Flaga wskazująca, czy gniazdo jest zablokowane przed wywołaniem zdarzeń onReceive.

  • 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

    numer opcjonalny

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

  • nazwa

    string opcjonalny

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

  • trwałe

    logiczna opcjonalna

    Flaga wskazująca, czy gniazdo pozostaje otwarte, gdy strona zdarzenia aplikacji jest wczytana (patrz Zarządzanie cyklem życia aplikacji). Wartość domyślna to „false”. Po załadowaniu aplikacji wszystkie gniazda otwarte wcześniej za pomocą persistent=true można pobrać za pomocą getSockets.

Metody

bind()

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

Wiąże adres lokalny i port dla gniazda. W przypadku gniazda klienta zaleca się użycie portu 0, aby umożliwić platformie wybranie wolnego portu.

Gdy operacja bind zostanie zakończona, zdarzenia onReceive będą generowane, gdy pakiety UDP dotrą do określonego adresu/portu (chyba że gniazdo jest wstrzymane).

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • adres

    ciąg znaków

    Adres lokalnego urządzenia. Obsługiwane są formaty nazw DNS, IPv4 i IPv6. Użyj wartości „0.0.0.0”, aby akceptować pakiety ze wszystkich dostępnych lokalnych interfejsów sieciowych.

  • port

    liczba

    Port na komputerze lokalnym. Aby powiązać port z wolnym portem, użyj wartości „0”.

  • wywołanie zwrotne

    funkcja

    Parametr callback ma postać:

    (result: number) => void

    • wynik

      liczba

      Kod wyniku zwrócony przez wywołanie sieci. Wartość ujemna wskazuje błąd.

close()

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

Zamyka gniazdo i zwalni adres/port, do którego jest ono przypisane. Każde utworzone gniazdo powinno zostać zamknięte po użyciu. Identyfikator gniazda traci ważność po wywołaniu funkcji. Jednak gniazdo jest zamknięte tylko wtedy, gdy wywołano funkcję wywołania zwrotnego.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    () => void

Zwroty

  • Obietnica<void>

    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.

create()

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

Tworzy gniazdo UDP z podanymi właściwościami.

Parametry

  • usługi

    SocketProperties opcjonalny

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

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    (createInfo: CreateInfo) => void

Zwroty

  • Promise<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.

getInfo()

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

Pobiera stan danego gniazda.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    (socketInfo: SocketInfo) => void

    • socketInfo

      Obiekt zawierający informacje o gnieździe.

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

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

Pobiera adresy grup wielodostępnych, do których jest obecnie dołączony gniazdo.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    (groups: string[]) => void

    • grupy

      string[]

      Tablica grup, do których dołączył gniazdo.

Zwroty

  • Promise<string[]>

    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.

getSockets()

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

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

Parametry

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    (socketInfos: SocketInfo[]) => void

    • socketInfos

      Tablica obiektów zawierających informacje o gniazdo.

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.

joinGroup()

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

Dołącza do grupy wielodostępnej i zaczyna odbierać pakiety z tej grupy. Przed wywołaniem tej metody gniazdo 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

      Kod wyniku zwrócony przez wywołanie sieci. Wartość ujemna wskazuje błąd.

leaveGroup()

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

Opuszcza grupę wielodostępową, do której dołączył za pomocą joinGroup. Ta metoda jest konieczna tylko wtedy, gdy planujesz dalsze korzystanie z gniazda, ponieważ system operacyjny zrobi to automatycznie, gdy gniazdo zostanie zamknięte.

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

      Kod wyniku zwrócony przez wywołanie sieci. Wartość ujemna wskazuje błąd.

send()

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

Wysyła dane na określonym gnieździe do określonego adresu i portu. Przed wywołaniem tej metody gniazdo musi być powiązane z lokalnym portem.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • dane

    ArrayBuffer

    Dane do wysłania.

  • adres

    ciąg znaków

    Adres maszyny zdalnej.

  • port

    liczba

    Port komputera zdalnego.

  • dnsQueryType

    DnsQueryType opcjonalnie

    Chrome w wersji 103 lub nowszej

    Ustawienie preferencji rozwiązywania adresów.

  • wywołanie zwrotne

    funkcja

    Parametr callback ma postać:

    (sendInfo: SendInfo) => void

setBroadcast()

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

Włącza lub wyłącza pakiety rozgłoszeniowe na tym gnieździe.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • włączone

    wartość logiczna

    true, aby włączyć pakiety rozgłoszeniowe, false, aby je wyłączyć.

  • wywołanie zwrotne

    funkcja

    Parametr callback ma postać:

    (result: number) => void

    • wynik

      liczba

      Kod wyniku zwrócony przez wywołanie sieci.

setMulticastLoopbackMode()

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

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

      Kod wyniku zwrócony przez wywołanie sieci. Wartość ujemna wskazuje błąd.

setMulticastTimeToLive()

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

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

      Kod wyniku zwrócony przez wywołanie sieci. Wartość ujemna wskazuje błąd.

setPaused()

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

Wstrzymuje lub wznawia działanie gniazda. Wstrzymany gniazdo nie może wywoływać zdarzeń onReceive.

Parametry

  • socketId

    liczba

  • wstrzymana

    wartość logiczna

    Flaga wskazująca, czy wstrzymać czy wznowić.

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    () => void

Zwroty

  • Obietnica<void>

    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.

update()

Obietnice
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

    function opcjonalny

    Parametr callback ma postać:

    () => void

Zwroty

  • Obietnica<void>

    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.

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

    (info: ReceiveInfo) => void

onReceiveError

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

Zdarzenie wywoływane, gdy wystąpił błąd sieci podczas oczekiwania środowiska wykonawczego na dane na adres i port gniazda. Gdy to zdarzenie zostanie wywołane, gniazdo zostanie wstrzymane i do czasu jego wznowienia nie będzie wywoływać żadnych zdarzeń onReceive.

Parametry