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
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()
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 wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
create()
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
-
createInfo
Wynik utworzenia gniazda.
-
Akcje powrotne
-
Promise<CreateInfo>
Chrome 121 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. 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 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 wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
getJoinedGroups()
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 wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. 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 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 wersjeObietnice 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 wersjePreferencje dotyczące rozpoznawania 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 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()
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 wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. 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 opcjonalnie
Parametr
callback
wygląda tak:() => void
Akcje powrotne
-
Promise<void>
Chrome 121 i nowsze wersjeObietnice 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
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(info: ReceiveInfo) => void
-
informacje
-
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
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(info: ReceiveErrorInfo) => void
-
informacje
-