chrome.socket

Beschrijving

Gebruik de chrome.socket API om gegevens te sturen en te krijgen via het netwerk met TCP- en UDP-verbindingen. Opmerking: Vanaf Chrome 33 is deze API beëindigd ten gunste van de API's sockets.udp, sockets.tcp en sockets.tcpServer.

Rechten

socket

Typen

AcceptInfo

Eigenschappen

  • resultCode

    getal

  • socketId

    number optioneel

    De ID van de geaccepteerde socket.

CreateInfo

Eigenschappen

  • socketId

    getal

    De ID van de nieuwe socket.

CreateOptions

NetworkInterface

Eigenschappen

  • adres

    tekenreeks

    Het beschikbare IPv4/6-adres.

  • name

    tekenreeks

    De onderliggende naam van de adapter. Op *nix is dit meestal 'eth0', 'lo', enzovoort.

  • prefixLength

    getal

    De prefixlengte

ReadInfo

Eigenschappen

  • gegevens

    ArrayBuffer

  • resultCode

    getal

    De resultCode die is geretourneerd door de onderliggende read()-aanroep.

RecvFromInfo

Eigenschappen

  • adres

    tekenreeks

    Het adres van de externe machine.

  • gegevens

    ArrayBuffer

  • poort

    getal

  • resultCode

    getal

    De resultCode die is geretourneerd door de onderliggende recvfrom()-aanroep.

SecureOptions

Eigenschappen

SocketInfo

Eigenschappen

  • verbonden

    booleaans

    Of de onderliggende socket is verbonden.

    Voor tcp-sockets blijft dit waar, zelfs als de externe peer de verbinding heeft verbroken. Lezen of schrijven naar de socket kan dan leiden tot een fout, wat erop wijst dat deze socket moet worden ontkoppeld via disconnect().

    Voor udp-sockets geeft dit alleen aan of er een standaard extern adres is opgegeven voor het lezen en schrijven van pakketten.

  • localAddress

    tekenreeks optioneel

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

  • localPort

    number optioneel

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

  • peerAddress

    tekenreeks optioneel

    Als de onderliggende socket is verbonden, bevat dit het IPv4/6-adres van de peer.

  • peerPort

    number optioneel

    Als de onderliggende socket is verbonden, bevat dit de poort van de verbonden peer.

  • socketType

    Het type van de doorgegeven socket. Dit is tcp of udp.

SocketType

Enum

"tcp"

"udp"

TLSVersionConstraints

Eigenschappen

  • max

    tekenreeks optioneel

  • min

    tekenreeks optioneel

    De minimale en maximale acceptabele versies van TLS. Ondersteunde waarden zijn tls1.2 of tls1.3.

    De waarden tls1 en tls1.1 worden niet meer ondersteund. Als min is ingesteld op een van deze waarden, wordt deze ongemerkt vastgezet op tls1.2. Als max is ingesteld op een van die waarden of een andere niet-herkende waarde, wordt deze genegeerd.

WriteInfo

Eigenschappen

  • bytesWritten

    getal

    Het aantal verstuurde bytes of een negatieve foutcode.

Methoden

accept()

chrome.socket.accept(
  socketId: number,
  callback: function,
)
: void

Deze methode is alleen van toepassing op TCP-sockets. Registreert een callbackfunctie die wordt aangeroepen als een verbinding wordt geaccepteerd op deze luisterende serversocket. Listen moet eerst worden aangeroepen. Als er al een actieve acceptatie-callback is, wordt deze callback onmiddellijk aangeroepen met een fout als de resultCode.

Parameters

  • socketId

    getal

    De socketId.

  • callback

    functie

    De parameter callback ziet er zo uit:

    (acceptInfo: AcceptInfo) => void

bind()

chrome.socket.bind(
  socketId: number,
  address: string,
  port: number,
  callback: function,
)
: void

Binds the local address for socket. Op dit moment wordt TCP-socket niet ondersteund.

Parameters

  • socketId

    getal

    De socketId.

  • adres

    tekenreeks

    Het adres van het lokale apparaat.

  • poort

    getal

    De poort van het lokale apparaat.

  • callback

    functie

    De parameter callback ziet er zo uit:

    (result: number) => void

    • resultaat

      getal

connect()

chrome.socket.connect(
  socketId: number,
  hostname: string,
  port: number,
  callback: function,
)
: void

Verbindt de socket met de externe machine (voor een tcp-socket). Voor een udp-socket stelt dit het standaardadres in waarnaar pakketten worden gestuurd en waarvan ze worden gelezen voor read()- en write()-aanroepen.

Parameters

  • socketId

    getal

    De socketId.

  • hostname

    tekenreeks

    De hostnaam of het IP-adres van de externe machine.

  • poort

    getal

    De poort van de externe machine.

  • callback

    functie

    De parameter callback ziet er zo uit:

    (result: number) => void

    • resultaat

      getal

create()

Promise
chrome.socket.create(
  type: SocketType,
  options?: CreateOptions,
  callback?: function,
)
: Promise<CreateInfo>

Maakt een socket van het opgegeven type die verbinding maakt met de opgegeven externe machine.

Parameters

  • type

    Het type socket dat moet worden gemaakt. Moet tcp of udp zijn.

  • opties

    CreateOptions optioneel

    De socketopties.

  • callback

    functie optioneel

    De parameter callback ziet er zo uit:

    (createInfo: CreateInfo) => void

Retourzendingen

  • Promise<CreateInfo>

    Chrome 121 of hoger

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

destroy()

chrome.socket.destroy(
  socketId: number,
)
: void

Vernietigt de socket. Elke gemaakte socket moet na gebruik worden vernietigd.

Parameters

  • socketId

    getal

    De socketId.

disconnect()

chrome.socket.disconnect(
  socketId: number,
)
: void

Verbreekt de verbinding met de socket. Voor UDP-sockets is disconnect een niet-bewerking, maar kan deze veilig worden aangeroepen.

Parameters

  • socketId

    getal

    De socketId.

getInfo()

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

Haalt de status van de aangegeven socket op.

Parameters

  • socketId

    getal

    De socketId.

  • callback

    functie optioneel

    De parameter callback ziet er zo uit:

    (result: SocketInfo) => void

Retourzendingen

  • Promise<SocketInfo>

    Chrome 121 of hoger

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

getJoinedGroups()

chrome.socket.getJoinedGroups(
  socketId: number,
  callback: function,
)
: void

Haalt de multicast-groepsadressen op waar de socket op dit moment aan is gekoppeld.

Parameters

  • socketId

    getal

    De socketId.

  • callback

    functie

    De parameter callback ziet er zo uit:

    (groups: string[]) => void

    • groepen

      tekenreeks[]

getNetworkList()

Promise
chrome.socket.getNetworkList(
  callback?: function,
)
: Promise<NetworkInterface[]>

Hiermee wordt informatie over lokale adapters op dit systeem opgehaald.

Parameters

Retourzendingen

  • Promise<NetworkInterface[]>

    Chrome 121 of hoger

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

joinGroup()

chrome.socket.joinGroup(
  socketId: number,
  address: string,
  callback: function,
)
: void

Deelnemen aan de multicastgroep en pakketten van die groep ontvangen. De socket moet van het type UDP zijn en moet aan een lokale poort zijn gebonden voordat deze methode wordt aangeroepen.

Parameters

  • socketId

    getal

    De socketId.

  • 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

leaveGroup()

chrome.socket.leaveGroup(
  socketId: number,
  address: string,
  callback: function,
)
: void

Verlaat de multicast-groep waaraan je eerder hebt deelgenomen met joinGroup. Je hoeft de multicast-groep niet te verlaten voordat je de socket vernietigt of afsluit. Dit wordt automatisch aangeroepen door het OS.

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 socketId.

  • 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

listen()

chrome.socket.listen(
  socketId: number,
  address: string,
  port: number,
  backlog?: number,
  callback: function,
)
: void

Deze methode is alleen van toepassing op TCP-sockets. Luistert naar verbindingen op de opgegeven poort en het opgegeven adres. Hierdoor wordt dit een serversocket en kunnen clientsocketfuncties (verbinden, lezen, schrijven) niet meer worden gebruikt op deze socket.

Parameters

  • socketId

    getal

    De socketId.

  • adres

    tekenreeks

    Het adres van het lokale apparaat.

  • poort

    getal

    De poort van het lokale apparaat.

  • backlog

    number optioneel

    De lengte van de luisterwachtrij van de socket.

  • callback

    functie

    De parameter callback ziet er zo uit:

    (result: number) => void

    • resultaat

      getal

read()

chrome.socket.read(
  socketId: number,
  bufferSize?: number,
  callback: function,
)
: void

Leest gegevens uit de aangegeven verbonden socket.

Parameters

  • socketId

    getal

    De socketId.

  • bufferSize

    number optioneel

    De grootte van de leesbuffer.

  • callback

    functie

    De parameter callback ziet er zo uit:

    (readInfo: ReadInfo) => void

recvFrom()

chrome.socket.recvFrom(
  socketId: number,
  bufferSize?: number,
  callback: function,
)
: void

Ontvangt gegevens van de opgegeven UDP-socket.

Parameters

  • socketId

    getal

    De socketId.

  • bufferSize

    number optioneel

    De grootte van de ontvangstbuffer.

  • callback

    functie

    De parameter callback ziet er zo uit:

    (recvFromInfo: RecvFromInfo) => void

secure()

chrome.socket.secure(
  socketId: number,
  options?: SecureOptions,
  callback: function,
)
: void

Start een TLS-clientverbinding via een verbonden TCP-clientsocket.

Parameters

  • socketId

    getal

    De verbonden socket die moet worden gebruikt.

  • opties

    SecureOptions optioneel

    Beperkingen en parameters voor de TLS-verbinding.

  • callback

    functie

    De parameter callback ziet er zo uit:

    (result: number) => void

    • resultaat

      getal

sendTo()

chrome.socket.sendTo(
  socketId: number,
  data: ArrayBuffer,
  address: string,
  port: number,
  callback: function,
)
: void

Stuurt gegevens op de opgegeven UDP-socket naar het opgegeven adres en de opgegeven poort.

Parameters

  • socketId

    getal

    De socketId.

  • gegevens

    ArrayBuffer

    De gegevens die moeten worden geschreven.

  • adres

    tekenreeks

    Het adres van de externe machine.

  • poort

    getal

    De poort van de externe machine.

  • callback

    functie

    De parameter callback ziet er zo uit:

    (writeInfo: WriteInfo) => void

setKeepAlive()

chrome.socket.setKeepAlive(
  socketId: number,
  enable: boolean,
  delay?: number,
  callback: function,
)
: void

Hiermee zet je de keep-alive-functionaliteit voor een TCP-verbinding aan of uit.

Parameters

  • socketId

    getal

    De socketId.

  • aanzetten

    booleaans

    Als dit waar is, zet je de keep-alive-functionaliteit aan.

  • vertraging

    number optioneel

    Stel het aantal seconden vertraging in tussen het laatste ontvangen gegevenspakket en de eerste keepalive-probe. De standaardwaarde is 0.

  • callback

    functie

    De parameter callback ziet er zo uit:

    (result: boolean) => void

    • resultaat

      booleaans

setMulticastLoopbackMode()

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

Stel in of multicast-pakketten die van de host naar de multicast-groep 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 socketId.

  • 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

setMulticastTimeToLive()

chrome.socket.setMulticastTimeToLive(
  socketId: number,
  ttl: number,
  callback: function,
)
: void

Stel 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 socketId.

  • ttl

    getal

    De time-to-live-waarde.

  • callback

    functie

    De parameter callback ziet er zo uit:

    (result: number) => void

    • resultaat

      getal

setNoDelay()

chrome.socket.setNoDelay(
  socketId: number,
  noDelay: boolean,
  callback: function,
)
: void

Hiermee wordt TCP_NODELAY ingesteld of gewist voor een TCP-verbinding. Het algoritme van Nagle wordt uitgezet als TCP_NODELAY is ingesteld.

Parameters

  • socketId

    getal

    De socketId.

  • noDelay

    booleaans

    Als dit waar is, wordt het algoritme van Nagle uitgezet.

  • callback

    functie

    De parameter callback ziet er zo uit:

    (result: boolean) => void

    • resultaat

      booleaans

write()

chrome.socket.write(
  socketId: number,
  data: ArrayBuffer,
  callback: function,
)
: void

Schrijft gegevens naar de opgegeven verbonden socket.

Parameters

  • socketId

    getal

    De socketId.

  • gegevens

    ArrayBuffer

    De gegevens die moeten worden geschreven.

  • callback

    functie

    De parameter callback ziet er zo uit:

    (writeInfo: WriteInfo) => void