chrome.sockets.udp

Opis

Używaj interfejsu chrome.sockets.udp API do wysyłania i odbierania danych w sieci za pomocą połączeń UDP. Ten interfejs API zastępuje funkcję UDP, która wcześniej była dostępna w interfejsie API „socket”.

Plik manifestu

Aby można było używać tego interfejsu API, następujące klucze muszą być zadeklarowane w pliku manifestu.

"sockets"

Typy

CreateInfo

Właściwości

  • socketId

    Liczba

    Identyfikator nowo utworzonego gniazda. Identyfikatory gniazd utworzone za pomocą tego interfejsu API są niezgodne z identyfikatorami gniazd utworzonymi za pomocą innych interfejsów API, takich jak wycofany interfejs [socket](../socket/) API.

DnsQueryType

Chrome 103 i nowsze wersje

Ustawienia rozpoznawania nazw DNS. Wartość domyślna to any i używana jest bieżąca konfiguracja systemu operacyjnego, która może zwracać adres IPv4 lub IPv6. ipv4 wymusza adres IPv4, a ipv6 wymusza adres IPv6.

Enum

„ipv4”

„ipv6”

ReceiveErrorInfo

Właściwości

  • resultCode

    Liczba

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

  • socketId

    Liczba

    Identyfikator gniazda.

ReceiveInfo

Właściwości

  • dane

    ArrayBuffer

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

  • remoteAddress

    string,

    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 przez bazowe wywołanie sieciowe. Wartość ujemna oznacza błąd.

SocketInfo

Właściwości

  • bufferSize

    Liczba opcjonalnie

    Rozmiar bufora używanego do odbierania danych. Jeśli rozmiar bufora nie zostanie wyraźnie określony, wartość nie zostanie 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 jego port lokalny.

  • nazwa

    ciąg znaków opcjonalny

    Ciąg znaków zdefiniowany przez aplikację powiązany z gniazdem.

  • wstrzymane

    boolean

    Flaga z informacją, czy gniazdo jest zablokowane przed uruchamianiem zdarzeń onReceived.

  • trwałe

    boolean

    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ść domyślna to 4096.

  • nazwa

    ciąg znaków opcjonalny

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

  • trwałe

    wartość logiczna opcjonalna

    Flaga wskazująca, czy gniazdo jest otwarte po wyładowaniu strony zdarzenia aplikacji (patrz Zarządzanie cyklem życia aplikacji). Wartość domyślna to „false”. Podczas wczytywania aplikacji wszystkie gniazda otwarte wcześniej z parametrem trwałym=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 ukończeniu operacji bind zdarzenia onReceive są wysyłane po otrzymaniu pakietu UDP na podany adres lub port, chyba że gniazdo zostanie wstrzymane.

Parametry

  • socketId

    Liczba

    Identyfikator gniazda.

  • adres

    string,

    Adres komputera lokalnego. Obsługiwane są formaty nazw DNS oraz IPv4 i IPv6. Wartość „0.0.0.0” pozwala akceptować pakiety ze wszystkich dostępnych lokalnych interfejsów sieciowych.

  • port

    Liczba

    Port komputera lokalnego. Wartość „0” pozwala utworzyć powiązanie z wolnym portem.

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (result: number)=>void

    • wynik

      Liczba

      Kod wyniku zwrócony przez bazowe wywołanie sieciowe. Wartość ujemna oznacza błąd.

close()

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

Zamyka gniazdo i zwalnia adres lub port, z którym jest powiązane. Każde utworzone gniazdo powinno zostać zamknięte po użyciu. Identyfikator gniazda nie jest już prawidłowy od razu po wywołaniu funkcji. Gwarantujemy jednak zamknięcie gniazda tylko po wywołaniu wywołania zwrotnego.

Parametry

  • socketId

    Liczba

    Identyfikator gniazda.

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Akcje powrotne

  • Promise<void>

    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.

create()

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

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

Parametry

  • usługi

    SocketProperties opcjonalne

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

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

getInfo()

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

Pobiera stan danego gniazda.

Parametry

  • socketId

    Liczba

    Identyfikator gniazda.

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    (socketInfo: SocketInfo)=>void

    • socketInfo

      Obiekt zawierający informacje o gnieździe.

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

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

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

Parametry

  • socketId

    Liczba

    Identyfikator gniazda.

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    (groups: string[])=>void

    • grupy

      string[]

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

Akcje powrotne

  • Obietnica<string[]>

    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.

getSockets()

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

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

Parametry

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    (socketInfos: SocketInfo[])=>void

    • socketInfos

      Tablica obiektów z informacjami o gniazdach.

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.

joinGroup()

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

Dołącza do grupy multiemisji 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

    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

      Kod wyniku zwrócony przez bazowe wywołanie sieciowe. Wartość ujemna oznacza błąd.

leaveGroup()

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

Opuszcza grupę multiemisji, która wcześniej dołączyła za pomocą polecenia joinGroup. Należy wykonać tę czynność tylko wtedy, gdy zamierzasz nadal korzystać z gniazdka, ponieważ proces ten zostanie wykonany automatycznie przez system operacyjny po jego zamknięciu.

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

      Kod wyniku zwrócony przez bazowe wywołanie sieciowe. 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

    ArrayBuffer

    Dane do wysłania.

  • adres

    string,

    Adres komputera zdalnego.

  • port

    Liczba

    Port komputera zdalnego.

  • dnsQueryType

    Opcjonalny DnsQueryType

    Chrome 103 i nowsze wersje

    Preferencje dotyczące rozpoznawania adresu.

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (sendInfo: SendInfo)=>void

setBroadcast()

Chrome 44 i nowsze wersje
chrome.sockets.udp.setBroadcast(
  socketId: number,
  enabled: boolean,
  callback: function,
)

Włącza lub wyłącza przesyłanie pakietów w tym gnieździe.

Parametry

  • socketId

    Liczba

    Identyfikator gniazda.

  • włączone

    boolean

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

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (result: number)=>void

    • wynik

      Liczba

      Kod wyniku zwrócony przez bazowe wywołanie sieciowe.

setMulticastLoopbackMode()

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

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

      Kod wyniku zwrócony przez bazowe wywołanie sieciowe. Wartość ujemna oznacza błąd.

setMulticastTimeToLive()

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

Ustawia 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

      Kod wyniku zwrócony przez bazowe wywołanie sieciowe. Wartość ujemna oznacza błąd.

setPaused()

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

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

Parametry

  • socketId

    Liczba

  • wstrzymane

    boolean

    Flaga określająca, czy wstrzymać, czy wznowić.

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Akcje powrotne

  • Promise<void>

    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.

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 opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Akcje powrotne

  • Promise<void>

    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.

Wydarzenia

onReceive

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

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

Parametry

onReceiveError

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

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

Parametry