chrome.sockets.udp

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

Chroom 103+

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

Belofte
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 meer 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()

Belofte
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()

Belofte
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()

Belofte
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()

Belofte
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

      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

setBroadcast()

Chroom 44+
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()

Belofte
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()

Belofte
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

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