Beschrijving
Gebruik de chrome.socket
API om gegevens via het netwerk te verzenden en ontvangen met TCP- en UDP-verbindingen. Let op: vanaf Chrome 33 is deze API verouderd en vervangen door de sockets.udp
, sockets.tcp
en sockets.tcpServer
API's.
Machtigingen
socket
Typen
AcceptInfo
Eigenschappen
- resultaatcode
nummer
- socket-ID
nummer optioneel
De id van de geaccepteerde socket.
CreateInfo
Eigenschappen
- socket-ID
nummer
De id van de nieuw aangemaakte socket.
CreateOptions
NetworkInterface
Eigenschappen
- adres
snaar
Het beschikbare IPv4/6-adres.
- naam
snaar
De onderliggende naam van de adapter. Op *nix is dit meestal "eth0", "lo", enz.
- voorvoegselLengte
nummer
De prefixlengte
ReadInfo
Eigenschappen
- gegevens
ArrayBuffer
- resultaatcode
nummer
De resultCode die wordt geretourneerd door de onderliggende read()-aanroep.
RecvFromInfo
Eigenschappen
- adres
snaar
Het adres van de externe machine.
- gegevens
ArrayBuffer
- haven
nummer
- resultaatcode
nummer
De resultCode die wordt geretourneerd door de onderliggende recvfrom()-aanroep.
SecureOptions
Eigenschappen
- tlsVersie
TLSVersionConstraints optioneel
SocketInfo
Eigenschappen
- aangesloten
Booleaanse
Of de onderliggende socket wel of niet verbonden is.
Voor
tcp
sockets blijft dit zo, zelfs als de externe peer de verbinding heeft verbroken. Lezen of schrijven naar de socket kan dan een fout opleveren, wat erop wijst dat de verbinding met deze socket moet worden verbroken viadisconnect()
.Voor
udp
-sockets geeft dit alleen aan of er een standaard extern adres is opgegeven voor het lezen en schrijven van pakketten. - lokaalAdres
string optioneel
Als de onderliggende socket gebonden of verbonden is, bevat het het lokale IPv4/6-adres.
- lokale poort
nummer optioneel
Als de onderliggende socket gebonden of verbonden is, bevat deze de lokale poort.
- peerAdres
string optioneel
Als de onderliggende socket verbonden is, bevat het het IPv4/6-adres van de peer.
- peerPort
nummer optioneel
Als de onderliggende socket verbonden is, bevat deze de poort van de verbonden peer.
- socketType
Het type van de doorgegeven socket. Dit is
tcp
ofudp
.
SocketType
Enum
"tcp" "udp"
TLSVersionConstraints
Eigenschappen
- maximaal
string optioneel
- mijn
string optioneel
De minimaal en maximaal acceptabele versies van TLS. Ondersteunde waarden zijn
tls1.2
oftls1.3
.De waarden
tls1
entls1.1
worden niet langer ondersteund. Alsmin
is ingesteld op een van deze waarden, wordt deze stilzwijgend vastgezet optls1.2
. Alsmax
is ingesteld op een van deze waarden, of een andere niet-herkende waarde, wordt deze stilzwijgend genegeerd.
WriteInfo
Eigenschappen
- bytesGeschreven
nummer
Het aantal verzonden 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 moet worden aangeroepen wanneer een verbinding wordt geaccepteerd op deze luisterende serversocket. Listen moet eerst worden aangeroepen. Als er al een actieve accept callback is, wordt deze callback direct aangeroepen met een fout als resultCode.
Parameters
- socket-ID
nummer
De socket-ID.
- terugbellen
functie
De
callback
ziet er als volgt uit:(acceptInfo: AcceptInfo) => void
- acceptInfo
bind()
chrome.socket.bind(
socketId: number,
address: string,
port: number,
callback: function,
): void
Koppelt het lokale adres voor de socket. Momenteel wordt TCP-socket niet ondersteund.
Parameters
- socket-ID
nummer
De socket-ID.
- adres
snaar
Het adres van de lokale machine.
- haven
nummer
De poort van de lokale machine.
- terugbellen
functie
De
callback
ziet er als volgt uit:(result: number) => void
- resultaat
nummer
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 verzonden en waarvandaan read()
en write()
aanroepen worden gelezen.
Parameters
- socket-ID
nummer
De socket-ID.
- hostnaam
snaar
De hostnaam of het IP-adres van de externe computer.
- haven
nummer
De poort van de externe machine.
- terugbellen
functie
De
callback
ziet er als volgt uit:(result: number) => void
- resultaat
nummer
create()
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 computer.
Parameters
- type
Het type socket dat moet worden aangemaakt. Moet
tcp
ofudp
zijn. - opties
CreateOptions optioneel
De socket-opties.
- terugbellen
functie optioneel
De
callback
ziet er als volgt uit:(createInfo: CreateInfo) => void
- createInfo
Retourneren
Belofte< CreateInfo >
Chroom 121+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 gecreëerde socket moet na gebruik vernietigd worden.
Parameters
- socket-ID
nummer
De socket-ID.
disconnect()
chrome.socket.disconnect(
socketId: number,
): void
Verbreekt de verbinding met de socket. Voor UDP-sockets is disconnect
geen bewerking, maar wel veilig aan te roepen.
Parameters
- socket-ID
nummer
De socket-ID.
getInfo()
chrome.socket.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:(result: SocketInfo) => void
- resultaat
Retourneren
Belofte <SocketInfo>
Chroom 121+Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.
getJoinedGroups()
chrome.socket.getJoinedGroups(
socketId: number,
callback: function,
): void
Haal de multicastgroepsadressen op waarmee de socket momenteel is verbonden.
Parameters
- socket-ID
nummer
De socket-ID.
- terugbellen
functie
De
callback
ziet er als volgt uit:(groups: string[]) => void
- groepen
snaar[]
getNetworkList()
chrome.socket.getNetworkList(
callback?: function,
): Promise<NetworkInterface[]>
Haalt informatie op over lokale adapters op dit systeem.
Parameters
- terugbellen
functie optioneel
De
callback
ziet er als volgt uit:(result: NetworkInterface[]) => void
- resultaat
Retourneren
Belofte< NetworkInterface []>
Chroom 121+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
Sluit je aan bij de multicastgroep en begin pakketten van die groep te ontvangen. De socket moet van het UDP-type zijn en 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
leaveGroup()
chrome.socket.leaveGroup(
socketId: number,
address: string,
callback: function,
): void
Verlaat de multicastgroep waartoe u eerder bent toegetreden met behulp van joinGroup
. Het is niet nodig om de multicastgroep te verlaten voordat u de socket verwijdert of afsluit. Dit wordt automatisch door het besturingssysteem aangeroepen.
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
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. Dit maakt dit in feite een serversocket, en client-socketfuncties (verbinden, lezen, schrijven) kunnen niet langer op deze socket worden gebruikt.
Parameters
- socket-ID
nummer
De socket-ID.
- adres
snaar
Het adres van de lokale machine.
- haven
nummer
De poort van de lokale machine.
- achterstand
nummer optioneel
Lengte van de luisterwachtrij van de socket.
- terugbellen
functie
De
callback
ziet er als volgt uit:(result: number) => void
- resultaat
nummer
read()
chrome.socket.read(
socketId: number,
bufferSize?: number,
callback: function,
): void
Leest gegevens van de opgegeven aangesloten socket.
Parameters
- socket-ID
nummer
De socket-ID.
- buffergrootte
nummer optioneel
De grootte van de leesbuffer.
- terugbellen
functie
De
callback
ziet er als volgt uit:(readInfo: ReadInfo) => void
- leesInfo
recvFrom()
chrome.socket.recvFrom(
socketId: number,
bufferSize?: number,
callback: function,
): void
Ontvangt gegevens van de opgegeven UDP-socket.
Parameters
- socket-ID
nummer
De socket-ID.
- buffergrootte
nummer optioneel
De grootte van de ontvangstbuffer.
- terugbellen
functie
De
callback
ziet er als volgt uit:(recvFromInfo: RecvFromInfo) => void
- ontvangenVanInfo
secure()
chrome.socket.secure(
socketId: number,
options?: SecureOptions,
callback: function,
): void
Start een TLS-clientverbinding via een aangesloten TCP-clientsocket.
Parameters
- socket-ID
nummer
Het aangesloten stopcontact dat gebruikt moet worden.
- opties
SecureOptions optioneel
Beperkingen en parameters voor de TLS-verbinding.
- terugbellen
functie
De
callback
ziet er als volgt uit:(result: number) => void
- resultaat
nummer
sendTo()
chrome.socket.sendTo(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
callback: function,
): void
Verzendt gegevens op de opgegeven UDP-socket naar het opgegeven adres en de opgegeven poort.
Parameters
- socket-ID
nummer
De socket-ID.
- gegevens
ArrayBuffer
De te schrijven gegevens.
- adres
snaar
Het adres van de externe machine.
- haven
nummer
De poort van de externe machine.
- terugbellen
functie
De
callback
ziet er als volgt uit:(writeInfo: WriteInfo) => void
- schrijfInfo
setKeepAlive()
chrome.socket.setKeepAlive(
socketId: number,
enable: boolean,
delay?: number,
callback: function,
): void
Hiermee schakelt u de keep-alive-functionaliteit voor een TCP-verbinding in of uit.
Parameters
- socket-ID
nummer
De socket-ID.
- inschakelen
Booleaanse
Als dit het geval is, schakelt u de keep-alive-functionaliteit in.
- vertraging
nummer optioneel
Stel de vertraging in seconden in tussen het laatste ontvangen datapakket en de eerste keepalive-probe. De standaardwaarde is 0.
- terugbellen
functie
De
callback
ziet er als volgt uit:(result: boolean) => void
- resultaat
Booleaanse
setMulticastLoopbackMode()
chrome.socket.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
): void
Stel 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
setMulticastTimeToLive()
chrome.socket.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
): void
Stel 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
setNoDelay()
chrome.socket.setNoDelay(
socketId: number,
noDelay: boolean,
callback: function,
): void
Stelt TCP_NODELAY
in of wist deze voor een TCP-verbinding. Het algoritme van Nagle wordt uitgeschakeld wanneer TCP_NODELAY
is ingesteld.
Parameters
- socket-ID
nummer
De socket-ID.
- geen vertraging
Booleaanse
Als deze optie waar is, wordt het algoritme van Nagle uitgeschakeld.
- terugbellen
functie
De
callback
ziet er als volgt uit:(result: boolean) => void
- resultaat
Booleaanse
write()
chrome.socket.write(
socketId: number,
data: ArrayBuffer,
callback: function,
): void
Schrijft gegevens naar de opgegeven aangesloten socket.
Parameters
- socket-ID
nummer
De socket-ID.
- gegevens
ArrayBuffer
De te schrijven gegevens.
- terugbellen
functie
De
callback
ziet er als volgt uit:(writeInfo: WriteInfo) => void
- schrijfInfo