Beschrijving
Gebruik de chrome.sockets.udp API om gegevens te sturen en te krijgen via het netwerk met UDP-verbindingen. Deze API vervangt de UDP-functionaliteit die eerder in de socket-API te vinden was.
Manifest
Typen
CreateInfo
Eigenschappen
-
socketId
getal
De ID van de nieuwe socket. Socket-ID's die zijn gemaakt met deze API, zijn niet compatibel met socket-ID's die zijn gemaakt met andere API's, zoals de beëindigde
[socket](../socket/)-API.
DnsQueryType
Voorkeuren voor DNS-omzetting. De standaardinstelling is any en gebruikt de huidige OS-configuratie, die IPv4 of IPv6 kan retourneren. ipv4 dwingt IPv4 af en ipv6 dwingt IPv6 af.
Enum
"any"
"ipv4"
"ipv6"
ReceiveErrorInfo
Eigenschappen
-
resultCode
getal
De resultaatcode die is geretourneerd door de onderliggende recvfrom()-aanroep.
-
socketId
getal
De socket-ID.
ReceiveInfo
Eigenschappen
-
gegevens
ArrayBuffer
De content van het UDP-pakket (afgekapt tot de huidige buffergrootte).
-
remoteAddress
tekenreeks
Het adres van de host waar het pakket vandaan komt.
-
remotePort
getal
De poort van de host waar het pakket vandaan komt.
-
socketId
getal
De socket-ID.
SendInfo
Eigenschappen
-
bytesSent
number optioneel
Het aantal verstuurde bytes (als resultaat == 0)
-
resultCode
getal
De resultaatcode die is geretourneerd door de onderliggende netwerkaanroep. Een negatieve waarde geeft een fout aan.
SocketInfo
Eigenschappen
-
bufferSize
number optioneel
De grootte van de buffer die wordt gebruikt om gegevens te ontvangen. Als er geen buffergrootte expliciet is aangegeven, wordt de waarde niet verstrekt.
-
localAddress
tekenreeks optioneel
Als de onderliggende socket is gebonden, bevat deze het lokale IPv4/6-adres.
-
localPort
number optioneel
Als de onderliggende socket is gebonden, bevat deze de lokale poort.
-
name
tekenreeks optioneel
Door de app gedefinieerde tekenreeks die aan de socket is gekoppeld.
-
onderbroken
booleaans
Markering die aangeeft of de socket is geblokkeerd voor het activeren van onReceive-gebeurtenissen.
-
persistent
booleaans
Markering die aangeeft of de socket open blijft als de app wordt opgeschort (zie
SocketProperties.persistent). -
socketId
getal
De socket-ID.
SocketProperties
Eigenschappen
-
bufferSize
number optioneel
De grootte van de buffer die wordt gebruikt om gegevens te ontvangen. Als de buffer te klein is om het UDP-pakket te ontvangen, gaan er gegevens verloren. De standaardwaarde is 4096.
-
name
tekenreeks optioneel
Een door de app gedefinieerde tekenreeks die aan de socket is gekoppeld.
-
persistent
booleaans optioneel
Markering die aangeeft of de socket open blijft als de gebeurtenispagina van de app wordt verwijderd (zie Levenscyclus van app beheren). De standaardwaarde is false. Als de app wordt geladen, kunnen sockets die eerder zijn geopend met persistent=true, worden opgehaald met
getSockets.
Methoden
bind()
chrome.sockets.udp.bind(
socketId: number,
address: string,
port: number,
callback: function,
): void
Bindt het lokale adres en de poort voor de socket. Voor een clientsocket wordt aanbevolen poort 0 te gebruiken, zodat het platform een vrije poort kan kiezen.
Zodra de bewerking bind is afgerond, worden onReceive-gebeurtenissen geactiveerd als UDP-pakketten aankomen op het opgegeven adres of de opgegeven poort, tenzij de socket is onderbroken.
Parameters
-
socketId
getal
De socket-ID.
-
adres
tekenreeks
Het adres van het lokale apparaat. DNS-naam, IPv4- en IPv6-indelingen worden ondersteund. Gebruik 0.0.0.0 om pakketten van alle lokaal beschikbare netwerkinterfaces te accepteren.
-
poort
getal
De poort van het lokale apparaat. Gebruik 0 om te binden aan een vrije poort.
-
callback
functie
De parameter
callbackziet er zo uit:(result: number) => void
-
resultaat
getal
De resultaatcode die is geretourneerd door de onderliggende netwerkaanroep. Een negatieve waarde geeft een fout aan.
-
close()
chrome.sockets.udp.close(
socketId: number,
callback?: function,
): Promise<void>
Sluit de socket en geeft het adres/de poort vrij waaraan de socket is gebonden. Elke gemaakte socket moet na gebruik worden gesloten. De socket-ID is niet meer geldig zodra de functie wordt aangeroepen. De socket wordt gegarandeerd pas gesloten als de callback wordt aangeroepen.
Parameters
-
socketId
getal
De socket-ID.
-
callback
functie optioneel
De parameter
callbackziet er zo uit:() => void
Retourzendingen
-
Promise<void>
Chrome 121 of hogerPromises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.
create()
chrome.sockets.udp.create(
properties?: SocketProperties,
callback?: function,
): Promise<CreateInfo>
Maakt een UDP-socket met de opgegeven eigenschappen.
Parameters
-
property's
SocketProperties optioneel
De socket-eigenschappen (optioneel).
-
callback
functie optioneel
De parameter
callbackziet er zo uit:(createInfo: CreateInfo) => void
-
createInfo
Het resultaat van het maken van de socket.
-
Retourzendingen
-
Promise<CreateInfo>
Chrome 121 of hogerPromises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.
getInfo()
chrome.sockets.udp.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
Haalt de status van de aangegeven socket op.
Parameters
-
socketId
getal
De socket-ID.
-
callback
functie optioneel
De parameter
callbackziet er zo uit:(socketInfo: SocketInfo) => void
-
socketInfo
Object met de socketinformatie.
-
Retourzendingen
-
Promise<SocketInfo>
Chrome 121 of hogerPromises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.
getJoinedGroups()
chrome.sockets.udp.getJoinedGroups(
socketId: number,
callback?: function,
): Promise<string[]>
Haalt de multicast-groepsadressen op waar de socket op dit moment aan is gekoppeld.
Parameters
-
socketId
getal
De socket-ID.
-
callback
functie optioneel
De parameter
callbackziet er zo uit:(groups: string[]) => void
-
groepen
tekenreeks[]
Matrix van groepen waarvan de socket lid is geworden.
-
Retourzendingen
-
Promise<string[]>
Chrome 121 of hogerPromises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.
getSockets()
chrome.sockets.udp.getSockets(
callback?: function,
): Promise<SocketInfo[]>
Haalt de lijst op met momenteel geopende sockets die eigendom zijn van de app.
Parameters
-
callback
functie optioneel
De parameter
callbackziet er zo uit:(socketInfos: SocketInfo[]) => void
-
socketInfos
Matrix van object met socketinformatie.
-
Retourzendingen
-
Promise<SocketInfo[]>
Chrome 121 of hogerPromises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.
joinGroup()
chrome.sockets.udp.joinGroup(
socketId: number,
address: string,
callback: function,
): void
Wordt lid van de multicast-groep en begint pakketten van die groep te ontvangen. De socket moet aan een lokale poort worden gebonden voordat deze methode wordt aangeroepen.
Parameters
-
socketId
getal
De socket-ID.
-
adres
tekenreeks
Het groepsadres waarvan je lid wilt worden. Domeinnamen worden niet ondersteund.
-
callback
functie
De parameter
callbackziet er zo uit:(result: number) => void
-
resultaat
getal
De resultaatcode die is geretourneerd door de onderliggende netwerkaanroep. Een negatieve waarde geeft een fout aan.
-
leaveGroup()
chrome.sockets.udp.leaveGroup(
socketId: number,
address: string,
callback: function,
): void
Verlaat de multicast-groep waar eerder aan is deelgenomen via joinGroup. Dit is alleen nodig om aan te roepen als je van plan bent de socket daarna te blijven gebruiken, omdat dit automatisch wordt gedaan door het OS als de socket wordt gesloten.
Als je de groep verlaat, kan de router geen multicast-datagrammen naar de lokale host sturen, ervan uitgaande dat geen ander proces op de host nog lid is van de groep.
Parameters
-
socketId
getal
De socket-ID.
-
adres
tekenreeks
Het groepsadres dat je wilt verlaten. Domeinnamen worden niet ondersteund.
-
callback
functie
De parameter
callbackziet er zo uit:(result: number) => void
-
resultaat
getal
De resultaatcode die is geretourneerd door de onderliggende netwerkaanroep. Een negatieve waarde geeft een fout aan.
-
send()
chrome.sockets.udp.send(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
dnsQueryType?: DnsQueryType,
callback: function,
): void
Stuurt gegevens op de aangegeven socket naar het aangegeven adres en de aangegeven poort. De socket moet aan een lokale poort worden gebonden voordat deze methode wordt aangeroepen.
Parameters
-
socketId
getal
De socket-ID.
-
gegevens
ArrayBuffer
De gegevens die je wilt sturen.
-
adres
tekenreeks
Het adres van de externe machine.
-
poort
getal
De poort van de externe machine.
-
dnsQueryType
DnsQueryType optioneel
Chrome 103+De voorkeur voor adresresolutie.
-
callback
functie
De parameter
callbackziet er zo uit:(sendInfo: SendInfo) => void
-
sendInfo
Resultaat van de
send-methode.
-
setBroadcast()
chrome.sockets.udp.setBroadcast(
socketId: number,
enabled: boolean,
callback: function,
): void
Zet broadcastpakketten aan of uit op deze socket.
Parameters
-
socketId
getal
De socket-ID.
-
aangezet
booleaans
trueom broadcastpakketten aan te zetten,falseom ze uit te zetten. -
callback
functie
De parameter
callbackziet er zo uit:(result: number) => void
-
resultaat
getal
De resultaatcode die is geretourneerd door de onderliggende netwerkaanroep.
-
setMulticastLoopbackMode()
chrome.sockets.udp.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
): void
Hiermee stel je in of multicastpakketten die van de host naar de multicastgroep worden gestuurd, worden teruggeleid naar de host.
Opmerking: Het gedrag van setMulticastLoopbackMode verschilt enigszins tussen Windows- en Unix-achtige systemen. De inconsistentie treedt alleen op als er meer dan één app op dezelfde host is die is gekoppeld aan dezelfde multicast-groep, terwijl er verschillende instellingen zijn voor de multicast-loopbackmodus. In Windows ONTVANGEN de apps met loopback uit de loopback-pakketten niet. Op Unix-achtige systemen STUREN de apps met loopback uit de loopback-pakketten niet naar andere apps op dezelfde host. Zie MSDN: https://learn.microsoft.com/nl-nl/windows/win32/winsock/ip-multicast-2
Voor het aanroepen van deze methode zijn geen multicast-rechten vereist.
Parameters
-
socketId
getal
De socket-ID.
-
aangezet
booleaans
Geef aan of je de loopback-modus wilt aanzetten.
-
callback
functie
De parameter
callbackziet er zo uit:(result: number) => void
-
resultaat
getal
De resultaatcode die is geretourneerd door de onderliggende netwerkaanroep. Een negatieve waarde geeft een fout aan.
-
setMulticastTimeToLive()
chrome.sockets.udp.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
): void
Stelt de time-to-live in van multicastpakketten die naar de multicastgroep worden gestuurd.
Voor het aanroepen van deze methode zijn geen multicast-rechten vereist.
Parameters
-
socketId
getal
De socket-ID.
-
ttl
getal
De time-to-live-waarde.
-
callback
functie
De parameter
callbackziet er zo uit:(result: number) => void
-
resultaat
getal
De resultaatcode die is geretourneerd door de onderliggende netwerkaanroep. Een negatieve waarde geeft een fout aan.
-
setPaused()
chrome.sockets.udp.setPaused(
socketId: number,
paused: boolean,
callback?: function,
): Promise<void>
Onderbreekt of hervat een socket. Een onderbroken socket kan geen onReceive-gebeurtenissen activeren.
Parameters
-
socketId
getal
De socket-ID.
-
onderbroken
booleaans
Markering om aan te geven of je wilt onderbreken of hervatten.
-
callback
functie optioneel
De parameter
callbackziet er zo uit:() => void
Retourzendingen
-
Promise<void>
Chrome 121 of hogerPromises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.
update()
chrome.sockets.udp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
): Promise<void>
Updatet de socket-eigenschappen.
Parameters
-
socketId
getal
De socket-ID.
-
property's
De eigenschappen die je wilt updaten.
-
callback
functie optioneel
De parameter
callbackziet er zo uit:() => void
Retourzendingen
-
Promise<void>
Chrome 121 of hogerPromises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.
Evenementen
onReceive
chrome.sockets.udp.onReceive.addListener(
callback: function,
)
Gebeurtenis die wordt geactiveerd als er een UDP-pakket is ontvangen voor de aangegeven socket.
Parameters
-
callback
functie
De parameter
callbackziet er zo uit:(info: ReceiveInfo) => void
-
info
-
onReceiveError
chrome.sockets.udp.onReceiveError.addListener(
callback: function,
)
Gebeurtenis die wordt geactiveerd als er een netwerkfout optreedt terwijl de runtime wacht op gegevens op het socketadres en de poort. Zodra deze gebeurtenis wordt geactiveerd, wordt de socket onderbroken en worden er geen onReceive-gebeurtenissen meer geactiveerd voor deze socket totdat de socket wordt hervat.
Parameters
-
callback
functie
De parameter
callbackziet er zo uit:(info: ReceiveErrorInfo) => void
-
info
-