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
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
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()
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()
chrome.sockets.udp.create(
properties?: SocketProperties,
callback?: function,
)
Tworzy gniazdo UDP o podanych właściwościach.
Parametry
-
usługi
SocketProperties – opcjonalne
Właściwości gniazda (opcjonalnie).
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(createInfo: CreateInfo) => void
-
createInfo
Wynik utworzenia gniazda.
-
Zwroty
-
Promise<CreateInfo>
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()
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<SocketInfo>
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()
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<string[]>
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()
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<SocketInfo[]>
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
-
sendInfo
Wynik metody
send
.
-
setBroadcast()
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()
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()
chrome.sockets.udp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
)
Aktualizuje właściwości gniazda.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
usługi
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
-
informacje
-
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
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(info: ReceiveErrorInfo) => void
-
informacje
-