chrome.sockets.udp

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

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

"sockets"

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

Chrome 103+

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

Promise
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 callback ziet er zo uit:

    () => void

Retourzendingen

  • Promise<void>

    Chrome 121 of hoger

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

create()

Promise
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 callback ziet er zo uit:

    (createInfo: CreateInfo) => void

    • createInfo

      Het resultaat van het maken van de socket.

Retourzendingen

  • Promise<CreateInfo>

    Chrome 121 of hoger

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

getInfo()

Promise
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 callback ziet er zo uit:

    (socketInfo: SocketInfo) => void

    • socketInfo

      Object met de socketinformatie.

Retourzendingen

  • Promise<SocketInfo>

    Chrome 121 of hoger

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

getJoinedGroups()

Promise
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 callback ziet er zo uit:

    (groups: string[]) => void

    • groepen

      tekenreeks[]

      Matrix van groepen waarvan de socket lid is geworden.

Retourzendingen

  • Promise<string[]>

    Chrome 121 of hoger

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

getSockets()

Promise
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 callback ziet er zo uit:

    (socketInfos: SocketInfo[]) => void

    • socketInfos

      Matrix van object met socketinformatie.

Retourzendingen

  • Promise<SocketInfo[]>

    Chrome 121 of hoger

    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

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 callback ziet 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 callback ziet 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 callback ziet er zo uit:

    (sendInfo: SendInfo) => void

    • sendInfo

      Resultaat van de send-methode.

setBroadcast()

Chrome 44+
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

    true om broadcastpakketten aan te zetten, false om ze uit te zetten.

  • callback

    functie

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

Promise
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 callback ziet er zo uit:

    () => void

Retourzendingen

  • Promise<void>

    Chrome 121 of hoger

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

update()

Promise
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 callback ziet er zo uit:

    () => void

Retourzendingen

  • Promise<void>

    Chrome 121 of hoger

    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 wordt geactiveerd als er een UDP-pakket is ontvangen voor de aangegeven socket.

Parameters

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