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
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
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()
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 nowszyObietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy 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 opcjonalny
Właściwości gniazda (opcjonalnie).
-
wywołanie zwrotne
function opcjonalny
Parametr
callback
ma postać:(createInfo: CreateInfo) => void
-
createInfo
Wynik tworzenia gniazda.
-
Zwroty
-
Promise<CreateInfo>
Chrome 121 lub nowszyObietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy 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
function opcjonalny
Parametr
callback
ma postać:(socketInfo: SocketInfo) => void
-
socketInfo
Obiekt zawierający informacje o gnieździe.
-
Zwroty
-
Promise<SocketInfo>
Chrome 121 lub nowszyObietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.
getJoinedGroups()
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 nowszyObietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.
getSockets()
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 nowszyObietnice 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 nowszejUstawienie preferencji rozwiązywania adresów.
-
wywołanie zwrotne
funkcja
Parametr
callback
ma postać:(sendInfo: SendInfo) => void
-
sendInfo
Wynik metody
send
.
-
setBroadcast()
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()
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 nowszyObietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy 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
function opcjonalny
Parametr
callback
ma postać:() => void
Zwroty
-
Obietnica<void>
Chrome 121 lub nowszyObietnice 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
-
informacje
-
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
-
wywołanie zwrotne
funkcja
Parametr
callback
ma postać:(info: ReceiveErrorInfo) => void
-
informacje
-