chrome.sockets.udp

Beschrijving

Gebruik de chrome.sockets.udp API om gegevens via het netwerk te verzenden en ontvangen met behulp van UDP-verbindingen. Deze API vervangt de UDP-functionaliteit die voorheen in de "socket" API zat.

Manifest

De volgende sleutels moeten in het manifest worden gedeclareerd om deze API te gebruiken.

"sockets"

Typen

CreateInfo

Eigenschappen

  • socket-ID

    nummer

    De ID van de nieuw aangemaakte 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

Chroom 103+

DNS-resolutievoorkeuren. De standaardinstelling is any en gebruikt de huidige besturingssysteemconfiguratie, die IPv4 of IPv6 kan retourneren. ipv4 forceert IPv4 en ipv6 forceert IPv6.

Enum

"elk"

"ipv4"

"ipv6"

ReceiveErrorInfo

Eigenschappen

  • resultaatcode

    nummer

    De resultaatcode die wordt geretourneerd door de onderliggende recvfrom()-aanroep.

  • socket-ID

    nummer

    De socket-ID.

ReceiveInfo

Eigenschappen

  • gegevens

    ArrayBuffer

    De inhoud van het UDP-pakket (afgekapt tot de huidige buffergrootte).

  • externAdres

    snaar

    Het adres van de host waarvan het pakket afkomstig is.

  • remotePort

    nummer

    De poort van de host waarvan het pakket afkomstig is.

  • socket-ID

    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 geen expliciete buffergrootte is opgegeven, wordt de waarde niet opgegeven.

  • lokaalAdres

    string optioneel

    Als de onderliggende socket gebonden is, bevat het het lokale IPv4/6-adres.

  • lokale poort

    nummer optioneel

    Als de onderliggende socket gebonden is, bevat deze de lokale poort.

  • naam

    string optioneel

    Door de toepassing gedefinieerde tekenreeks die aan de socket is gekoppeld.

  • gepauzeerd

    Booleaanse

    Vlag die aangeeft of de socket is geblokkeerd voor het uitvoeren van onReceive-gebeurtenissen.

  • volhardend

    Booleaanse

    Vlag die aangeeft of de socket open blijft wanneer de applicatie wordt onderbroken (zie SocketProperties.persistent ).

  • socket-ID

    nummer

    De socket-identificatie.

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

    string optioneel

    Een door de applicatie gedefinieerde tekenreeks die aan de socket is gekoppeld.

  • volhardend

    boolean 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 applicatie wordt 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,
)
: void

Koppelt het lokale adres en de poort voor de socket. Voor een client socket wordt aanbevolen 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

  • socket-ID

    nummer

    De socket-ID.

  • adres

    snaar

    Het adres van de lokale computer. DNS-naam, IPv4- en IPv6-indelingen 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 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()

Belofte
chrome.sockets.udp.close(
  socketId: number,
  callback?: function,
)
: Promise<void>

Sluit de socket en geeft het adres/de poort waaraan de socket is gekoppeld vrij. Elke aangemaakte socket moet na gebruik worden gesloten. De socket-id is niet meer geldig zodra de functie wordt aangeroepen. De socket wordt echter gegarandeerd alleen gesloten wanneer de callback wordt aangeroepen.

Parameters

  • socket-ID

    nummer

    De socket-ID.

  • terugbellen

    functie optioneel

    De callback ziet er als volgt uit:

    () => void

Retourneren

  • Belofte<leegte>

    Chroom 121+

    Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.

create()

Belofte
chrome.sockets.udp.create(
  properties?: SocketProperties,
  callback?: function,
)
: Promise<CreateInfo>

Maakt een UDP-socket met de opgegeven eigenschappen.

Parameters

  • eigenschappen

    SocketProperties optioneel

    De socket-eigenschappen (optioneel).

  • terugbellen

    functie optioneel

    De callback ziet er als volgt uit:

    (createInfo: CreateInfo) => void

    • createInfo

      Het resultaat van de socketcreatie.

Retourneren

  • Belofte< CreateInfo >

    Chroom 121+

    Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.

getInfo()

Belofte
chrome.sockets.udp.getInfo(
  socketId: number,
  callback?: function,
)
: Promise<SocketInfo>

Haalt de status van de opgegeven socket op.

Parameters

  • socket-ID

    nummer

    De socket-ID.

  • terugbellen

    functie optioneel

    De callback ziet er als volgt uit:

    (socketInfo: SocketInfo) => void

    • socketInfo

      Object dat de socketinformatie bevat.

Retourneren

  • Belofte <SocketInfo>

    Chroom 121+

    Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.

getJoinedGroups()

Belofte
chrome.sockets.udp.getJoinedGroups(
  socketId: number,
  callback?: function,
)
: Promise<string[]>

Geeft de multicastgroepadressen op waaraan de socket momenteel is gekoppeld.

Parameters

  • socket-ID

    nummer

    De socket-ID.

  • terugbellen

    functie optioneel

    De callback ziet er als volgt uit:

    (groups: string[]) => void

    • groepen

      snaar[]

      Array van groepen waar de socket zich bij heeft aangesloten.

Retourneren

  • Belofte<string[]>

    Chroom 121+

    Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.

getSockets()

Belofte
chrome.sockets.udp.getSockets(
  callback?: function,
)
: Promise<SocketInfo[]>

Haalt de lijst op met de sockets die momenteel geopend zijn en eigendom zijn van de toepassing.

Parameters

  • terugbellen

    functie optioneel

    De callback ziet er als volgt uit:

    (socketInfos: SocketInfo[]) => void

    • socketInfos

      Een objectarray met socketinformatie.

Retourneren

  • Belofte< SocketInfo []>

    Chroom 121+

    Promises 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

Sluit zich aan bij de multicastgroep en begint pakketten van die groep te ontvangen. De socket moet aan een lokale poort gekoppeld zijn voordat deze methode wordt aangeroepen.

Parameters

  • socket-ID

    nummer

    De socket-ID.

  • adres

    snaar

    Het groepsadres om lid van te worden. Domeinnamen worden niet ondersteund.

  • terugbellen

    functie

    De callback 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,
)
: void

Verlaat de multicastgroep waartoe eerder via joinGroup was toegetreden. Dit hoeft u alleen aan te roepen als u van plan bent de socket daarna te blijven gebruiken, aangezien dit automatisch door het besturingssysteem wordt gedaan wanneer de socket wordt gesloten.

Als u de groep verlaat, kan de router geen multicast-datagrammen meer naar de lokale host sturen, ervan uitgaande dat er geen ander proces op de host nog aan de groep is toegevoegd.

Parameters

  • socket-ID

    nummer

    De socket-ID.

  • adres

    snaar

    Het groepsadres om te verlaten. Domeinnamen worden niet ondersteund.

  • terugbellen

    functie

    De callback 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,
)
: void

Verzendt gegevens op de opgegeven socket naar het opgegeven adres en de opgegeven poort. De socket moet aan een lokale poort gekoppeld zijn voordat deze methode wordt aangeroepen.

Parameters

  • socket-ID

    nummer

    De socket-ID.

  • gegevens

    ArrayBuffer

    De te verzenden gegevens.

  • 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 ziet er als volgt uit:

    (sendInfo: SendInfo) => void

setBroadcast()

Chroom 44+
chrome.sockets.udp.setBroadcast(
  socketId: number,
  enabled: boolean,
  callback: function,
)
: void

Schakelt broadcastpakketten op deze socket in of uit.

Parameters

  • socket-ID

    nummer

    De socket-ID.

  • ingeschakeld

    Booleaanse

    true om broadcast-pakketten in te schakelen, false om ze uit te schakelen.

  • terugbellen

    functie

    De callback ziet er als volgt uit:

    (result: number) => void

    • resultaat

      nummer

      De resultaatcode die wordt geretourneerd door de onderliggende netwerkoproep.

setMulticastLoopbackMode()

chrome.sockets.udp.setMulticastLoopbackMode(
  socketId: number,
  enabled: boolean,
  callback: function,
)
: void

Hiermee stelt u 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 treedt alleen op wanneer er meer dan één applicatie op dezelfde host is aangesloten op dezelfde multicastgroep, terwijl er verschillende instellingen zijn voor de multicast-loopbackmodus. Op Windows ontvangen applicaties met loopback uitgeschakeld de loopbackpakketten niet; op Unix-achtige systemen verzenden applicaties met loopback uitgeschakeld de loopbackpakketten niet naar andere applicaties op dezelfde host. Zie MSDN: https://learn.microsoft.com/en-us/windows/win32/winsock/ip-multicast-2

Voor het aanroepen van deze methode zijn geen multicast-machtigingen vereist.

Parameters

  • socket-ID

    nummer

    De socket-ID.

  • ingeschakeld

    Booleaanse

    Geef aan of de loopback-modus moet worden ingeschakeld.

  • terugbellen

    functie

    De callback 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,
)
: void

Hiermee stelt u de time-to-live in van multicastpakketten die naar de multicastgroep worden verzonden.

Voor het aanroepen van deze methode zijn geen multicast-machtigingen vereist.

Parameters

  • socket-ID

    nummer

    De socket-ID.

  • ttl

    nummer

    De waarde van de levensduur.

  • terugbellen

    functie

    De callback 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()

Belofte
chrome.sockets.udp.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)
: Promise<void>

Pauzeert of hervat een socket. Een gepauzeerde socket kan geen onReceive -gebeurtenissen activeren.

Parameters

  • socket-ID

    nummer

  • gepauzeerd

    Booleaanse

    Vlag die aangeeft of u wilt pauzeren of hervatten.

  • terugbellen

    functie optioneel

    De callback ziet er als volgt uit:

    () => void

Retourneren

  • Belofte<leegte>

    Chroom 121+

    Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.

update()

Belofte
chrome.sockets.udp.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)
: Promise<void>

Werkt de socket-eigenschappen bij.

Parameters

  • socket-ID

    nummer

    De socket-ID.

  • eigenschappen

    De eigenschappen die bijgewerkt moeten worden.

  • terugbellen

    functie optioneel

    De callback ziet er als volgt uit:

    () => void

Retourneren

  • Belofte<leegte>

    Chroom 121+

    Promises 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 voor de opgegeven socket is ontvangen.

Parameters

onReceiveError

chrome.sockets.udp.onReceiveError.addListener(
  callback: function,
)

Gebeurtenis gegenereerd wanneer er een netwerkfout optrad terwijl de runtime wachtte op gegevens op het socketadres en de poort. Zodra deze gebeurtenis is gegenereerd, wordt de socket gepauzeerd en worden er geen onReceive gebeurtenissen meer gegenereerd voor deze socket totdat de socket wordt hervat.

Parameters