Beschrijving
Gebruik de chrome.sockets.udp
API om gegevens via het netwerk te verzenden en te ontvangen met behulp van UDP-verbindingen. Deze API vervangt de UDP-functionaliteit die eerder werd gevonden in de "socket" API.
Manifest
De volgende sleutels moeten in het manifest worden gedeclareerd om deze API te kunnen gebruiken.
"sockets"
Soorten
CreateInfo
Eigenschappen
- socketId
nummer
De ID van de nieuw gemaakte socket. Houd er rekening mee dat socket-ID's die met deze API zijn gemaakt, niet compatibel zijn met socket-ID's die met andere API's zijn gemaakt, zoals de verouderde
[
socket](../socket/)
API.
DnsQueryType
Voorkeuren voor DNS-resolutie. De standaardwaarde is any
en gebruikt de huidige besturingssysteemconfiguratie die IPv4 of IPv6 kan retourneren. ipv4
dwingt IPv4 af, en ipv6
dwingt IPv6 af.
Enum
"elk" "ipv4" "ipv6"
ReceiveErrorInfo
Eigenschappen
- resultaatCode
nummer
De resultaatcode die wordt geretourneerd door de onderliggende recvfrom()-aanroep.
- socketId
nummer
De socket-ID.
ReceiveInfo
Eigenschappen
- gegevens
ArrayBuffer
De inhoud van het UDP-pakket (afgekapt tot de huidige buffergrootte).
- extern adres
snaar
Het adres van de host waar het pakket vandaan komt.
- externe poort
nummer
De poort van de host waar het pakket vandaan komt.
- socketId
nummer
De socket-ID.
SendInfo
Eigenschappen
- bytesVerzonden
nummer optioneel
Het aantal verzonden bytes (als resultaat == 0)
- resultaatCode
nummer
De resultaatcode die is geretourneerd door de onderliggende netwerkaanroep. Een negatieve waarde duidt op een fout.
SocketInfo
Eigenschappen
- buffergrootte
nummer optioneel
De grootte van de buffer die wordt gebruikt om gegevens te ontvangen. Als er expliciet geen buffergrootte is opgegeven, wordt de waarde niet opgegeven.
- lokaalAdres
tekenreeks optioneel
Als de onderliggende socket gebonden is, bevat deze het lokale IPv4/6-adres.
- lokale poort
nummer optioneel
Als de onderliggende socket gebonden is, bevat deze de lokale poort.
- naam
tekenreeks optioneel
Door de toepassing gedefinieerde tekenreeks die is gekoppeld aan de socket.
- gepauzeerd
Booleaans
Vlag die aangeeft of de socket geen onReceive-gebeurtenissen kan activeren.
- volhardend
Booleaans
Vlag die aangeeft of de socket open blijft wanneer de toepassing wordt opgeschort (zie
SocketProperties.persistent
). - socketId
nummer
De socket-ID.
SocketProperties
Eigenschappen
- buffergrootte
nummer 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.
- naam
tekenreeks optioneel
Een door de toepassing gedefinieerde tekenreeks die is gekoppeld aan de socket.
- volhardend
Booleaans optioneel
Vlag die aangeeft of de socket open blijft wanneer de gebeurtenispagina van de applicatie wordt verwijderd (zie App-levenscyclus beheren ). De standaardwaarde is 'false'. Wanneer de toepassing is geladen, kunnen alle 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,
)
Bindt het lokale adres en de poort voor de socket. Voor een client socket wordt aanbevolen om poort 0 te gebruiken, zodat het platform een vrije poort kan kiezen.
Zodra de bind
succesvol is voltooid, worden onReceive
gebeurtenissen gegenereerd wanneer UDP-pakketten op het opgegeven adres/poort arriveren, tenzij de socket is gepauzeerd.
Parameters
- socketId
nummer
De socket-ID.
- adres
snaar
Het adres van de lokale machine. DNS-naam, IPv4- en IPv6-formaten worden ondersteund. Gebruik "0.0.0.0" om pakketten van alle lokaal beschikbare netwerkinterfaces te accepteren.
- haven
nummer
De poort van de lokale machine. Gebruik "0" om aan een vrije poort te binden.
- terugbellen
functie
De
callback
parameter ziet er als volgt uit:(result: number) => void
- resultaat
nummer
De resultaatcode die is geretourneerd door de onderliggende netwerkaanroep. Een negatieve waarde duidt op een fout.
close()
chrome.sockets.udp.close(
socketId: number,
callback?: function,
)
Sluit de socket en geeft het adres/poort vrij waaraan de socket is gebonden. Elk gecreëerd stopcontact moet na gebruik worden gesloten. Het socket-ID is niet langer geldig zodra de functie wordt aangeroepen. De socket wordt echter alleen gegarandeerd gesloten wanneer de callback wordt aangeroepen.
Parameters
- socketId
nummer
De socket-ID.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:() => void
Retouren
Beloof <nietig>
Chroom 121+Beloften worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
create()
chrome.sockets.udp.create(
properties?: SocketProperties,
callback?: function,
)
Creëert een UDP-socket met de opgegeven eigenschappen.
Parameters
- eigenschappen
SocketProperties optioneel
De socketeigenschappen (optioneel).
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(createInfo: CreateInfo) => void
- creëerInfo
Het resultaat van het maken van sockets.
Retouren
Beloof < CreateInfo >
Chroom 121+Beloften worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
getInfo()
chrome.sockets.udp.getInfo(
socketId: number,
callback?: function,
)
Haalt de status van de gegeven socket op.
Parameters
- socketId
nummer
De socket-ID.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(socketInfo: SocketInfo) => void
- stopcontactInfo
Object dat de socketinformatie bevat.
Retouren
Beloof het < SocketInfo >
Chroom 121+Beloften worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
getJoinedGroups()
chrome.sockets.udp.getJoinedGroups(
socketId: number,
callback?: function,
)
Haalt de multicast-groepsadressen op waar de socket momenteel lid van is.
Parameters
- socketId
nummer
De socket-ID.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(groups: string[]) => void
- groepen
snaar[]
Een reeks groepen waaraan de socket is gekoppeld.
Retouren
Beloof<string[]>
Chroom 121+Beloften worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
getSockets()
chrome.sockets.udp.getSockets(
callback?: function,
)
Haalt de lijst op met momenteel geopende sockets die eigendom zijn van de applicatie.
Parameters
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(socketInfos: SocketInfo[]) => void
- socketInfo
SocketInfo []
Array van objecten met socketinformatie.
Retouren
Beloof het < SocketInfo []>
Chroom 121+Beloften worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
joinGroup()
chrome.sockets.udp.joinGroup(
socketId: number,
address: string,
callback: function,
)
Sluit zich aan bij de multicastgroep en begint pakketten van die groep te ontvangen. De socket moet aan een lokale poort zijn gebonden voordat deze methode wordt aangeroepen.
Parameters
- socketId
nummer
De socket-ID.
- adres
snaar
Het groepsadres waaraan u wilt deelnemen. Domeinnamen worden niet ondersteund.
- terugbellen
functie
De
callback
parameter ziet er als volgt uit:(result: number) => void
- resultaat
nummer
De resultaatcode die is geretourneerd door de onderliggende netwerkaanroep. Een negatieve waarde duidt op een fout.
leaveGroup()
chrome.sockets.udp.leaveGroup(
socketId: number,
address: string,
callback: function,
)
Verlaat de multicastgroep waar u eerder lid van was geworden via joinGroup
. Dit is alleen nodig om aan te roepen als u van plan bent de socket daarna te blijven gebruiken, omdat dit automatisch door het besturingssysteem wordt gedaan wanneer de socket wordt gesloten.
Als u de groep verlaat, voorkomt u dat de router multicast-datagrammen naar de lokale host verzendt, ervan uitgaande dat er geen ander proces op de host nog bij de groep is aangesloten.
Parameters
- socketId
nummer
De socket-ID.
- adres
snaar
Het groepsadres om te vertrekken. Domeinnamen worden niet ondersteund.
- terugbellen
functie
De
callback
parameter ziet er als volgt uit:(result: number) => void
- resultaat
nummer
De resultaatcode die is geretourneerd door de onderliggende netwerkaanroep. Een negatieve waarde duidt op een fout.
send()
chrome.sockets.udp.send(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
dnsQueryType?: DnsQueryType,
callback: function,
)
Verzendt gegevens over de opgegeven socket naar het opgegeven adres en de opgegeven poort. De socket moet aan een lokale poort zijn gebonden voordat deze methode wordt aangeroepen.
Parameters
- socketId
nummer
De socket-ID.
- gegevens
ArrayBuffer
De gegevens die moeten worden verzonden.
- adres
snaar
Het adres van de externe machine.
- haven
nummer
De poort van de externe machine.
- dnsQueryType
DnsQueryType optioneel
Chroom 103+De voorkeur voor adresresolutie.
- terugbellen
functie
De
callback
parameter ziet er als volgt uit:(sendInfo: SendInfo) => void
- verzendInfo
Resultaat van de
send
.
setBroadcast()
chrome.sockets.udp.setBroadcast(
socketId: number,
enabled: boolean,
callback: function,
)
Schakelt broadcastpakketten op deze socket in of uit.
Parameters
- socketId
nummer
De socket-ID.
- ingeschakeld
Booleaans
true
om broadcastpakketten in te schakelen,false
om ze uit te schakelen. - terugbellen
functie
De
callback
parameter ziet er als volgt uit:(result: number) => void
- resultaat
nummer
De resultaatcode die is geretourneerd door de onderliggende netwerkaanroep.
setMulticastLoopbackMode()
chrome.sockets.udp.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
)
Stelt in of multicastpakketten die van de host naar de multicastgroep worden verzonden, worden teruggestuurd naar de host.
Opmerking: het gedrag van setMulticastLoopbackMode
verschilt enigszins tussen Windows en Unix-achtige systemen. De inconsistentie doet zich alleen voor als er meer dan één applicatie op dezelfde host is aangesloten bij dezelfde multicastgroep, terwijl er verschillende instellingen zijn in de multicast-loopback-modus. Op Windows zullen de toepassingen waarbij loopback is uitgeschakeld de loopback-pakketten niet ONTVANGEN; terwijl op Unix-achtige systemen de applicaties waarbij loopback uitgeschakeld is, de loopback-pakketten niet naar andere applicaties op dezelfde host VERZENDEN. Zie MSDN: http://goo.gl/6vqbj
Voor het aanroepen van deze methode zijn geen multicast-machtigingen vereist.
Parameters
- socketId
nummer
De socket-ID.
- ingeschakeld
Booleaans
Geef aan of u de loopback-modus wilt inschakelen.
- terugbellen
functie
De
callback
parameter ziet er als volgt uit:(result: number) => void
- resultaat
nummer
De resultaatcode die is geretourneerd door de onderliggende netwerkaanroep. Een negatieve waarde duidt op een fout.
setMulticastTimeToLive()
chrome.sockets.udp.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
)
Stelt de time-to-live in van multicast-pakketten die naar de multicast-groep worden verzonden.
Voor het aanroepen van deze methode zijn geen multicast-machtigingen vereist.
Parameters
- socketId
nummer
De socket-ID.
- tl
nummer
De time-to-live-waarde.
- terugbellen
functie
De
callback
parameter ziet er als volgt uit:(result: number) => void
- resultaat
nummer
De resultaatcode die is geretourneerd door de onderliggende netwerkaanroep. Een negatieve waarde duidt op een fout.
setPaused()
chrome.sockets.udp.setPaused(
socketId: number,
paused: boolean,
callback?: function,
)
Pauzeert of hervat een stopcontact. Een gepauzeerde socket kan geen onReceive
-gebeurtenissen activeren.
Parameters
- socketId
nummer
- gepauzeerd
Booleaans
Vlag om aan te geven of u wilt pauzeren of hervatten.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:() => void
Retouren
Beloof <nietig>
Chroom 121+Beloften worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
update()
chrome.sockets.udp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
)
Werkt de socketeigenschappen bij.
Parameters
- socketId
nummer
De socket-ID.
- eigenschappen
De eigenschappen die moeten worden bijgewerkt.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:() => void
Retouren
Beloof <nietig>
Chroom 121+Beloften worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
Evenementen
onReceive
chrome.sockets.udp.onReceive.addListener(
callback: function,
)
Gebeurtenis die optreedt wanneer een UDP-pakket is ontvangen voor de opgegeven socket.
Parameters
- terugbellen
functie
De
callback
parameter ziet er als volgt uit:(info: ReceiveInfo) => void
- informatie
onReceiveError
chrome.sockets.udp.onReceiveError.addListener(
callback: function,
)
Gebeurtenis opgetreden toen er een netwerkfout optrad terwijl de runtime wachtte op gegevens over het socketadres en de poort. Zodra deze gebeurtenis is gegenereerd, wordt de socket gepauzeerd en worden er geen onReceive
gebeurtenissen meer voor deze socket gegenereerd totdat de socket wordt hervat.
Parameters
- terugbellen
functie
De
callback
parameter ziet er als volgt uit:(info: ReceiveErrorInfo) => void
- informatie