Beschreibung
Mit der chrome.socket
API können Sie Daten über das Netzwerk mit TCP- und UDP-Verbindungen senden und empfangen. Hinweis:Ab Chrome 33 wird diese API zugunsten der APIs sockets.udp
, sockets.tcp
und sockets.tcpServer
eingestellt.
Berechtigungen
socket
Typen
AcceptInfo
Attribute
-
resultCode
Zahl
-
socketId
number optional
Die ID des akzeptierten Sockets.
CreateInfo
Attribute
-
socketId
Zahl
Die ID des neu erstellten Sockets.
CreateOptions
NetworkInterface
Attribute
-
Adresse
String
Die verfügbare IPv4-/IPv6-Adresse.
-
name
String
Der zugrunde liegende Name des Adapters. Unter *nix ist das in der Regel „eth0“, „lo“ usw.
-
prefixLength
Zahl
Präfixlänge
ReadInfo
Attribute
-
Daten
ArrayBuffer
-
resultCode
Zahl
Der vom zugrunde liegenden read()-Aufruf zurückgegebene resultCode.
RecvFromInfo
Attribute
-
Adresse
String
Die Adresse des Remote-Rechners.
-
Daten
ArrayBuffer
-
Port
Zahl
-
resultCode
Zahl
Der vom zugrunde liegenden recvfrom()-Aufruf zurückgegebene Ergebniscode.
SecureOptions
Attribute
-
tlsVersion
TLSVersionConstraints optional
SocketInfo
Attribute
-
verbunden
boolean
Gibt an, ob der zugrunde liegende Socket verbunden ist.
Bei
tcp
-Sockets gilt dies auch dann, wenn die Remote-Peer-Verbindung getrennt wurde. Das Lesen oder Schreiben in den Socket kann dann zu einem Fehler führen, was darauf hindeutet, dass dieser Socket überdisconnect()
getrennt werden sollte.Bei
udp
-Sockets gibt dies nur an, ob eine Standard-Remote-Adresse für das Lesen und Schreiben von Paketen angegeben wurde. -
localAddress
String optional
Wenn der zugrunde liegende Socket gebunden oder verbunden ist, enthält er seine lokale IPv4‑/6‑Adresse.
-
localPort
number optional
Wenn der zugrunde liegende Socket gebunden oder verbunden ist, enthält er seinen lokalen Port.
-
peerAddress
String optional
Wenn der zugrunde liegende Socket verbunden ist, enthält er die IPv4‑/6‑Adresse des Peers.
-
peerPort
number optional
Wenn der zugrunde liegende Socket verbunden ist, enthält er den Port des verbundenen Peers.
-
socketType
Der Typ des übergebenen Sockets. Dies ist
tcp
oderudp
.
SocketType
Enum
"tcp"
"udp"
TLSVersionConstraints
Attribute
-
max
String optional
-
Min.
String optional
Die Mindest- und Höchstversion von TLS. Unterstützte Werte sind
tls1.2
odertls1.3
.Die Werte
tls1
undtls1.1
werden nicht mehr unterstützt. Wennmin
auf einen dieser Werte festgelegt ist, wird er automatisch auftls1.2
begrenzt. Wennmax
auf einen dieser Werte oder einen anderen nicht erkannten Wert festgelegt ist, wird er stillschweigend ignoriert.
WriteInfo
Attribute
-
bytesWritten
Zahl
Die Anzahl der gesendeten Byte oder ein negativer Fehlercode.
Methoden
accept()
chrome.socket.accept(
socketId: number,
callback: function,
)
Diese Methode gilt nur für TCP-Sockets. Registriert eine Callback-Funktion, die aufgerufen wird, wenn eine Verbindung über diesen wartenden Server-Socket akzeptiert wird. „Listen“ muss zuerst aufgerufen werden. Wenn bereits ein aktiver Callback für die Annahme vorhanden ist, wird dieser Callback sofort mit einem Fehler als „resultCode“ aufgerufen.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
callback
Funktion
Der Parameter
callback
sieht so aus:(acceptInfo: AcceptInfo) => void
-
acceptInfo
-
bind()
chrome.socket.bind(
socketId: number,
address: string,
port: number,
callback: function,
)
Bindet die lokale Adresse für den Socket. Derzeit wird kein TCP-Socket unterstützt.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
Adresse
String
Die Adresse des lokalen Computers.
-
Port
Zahl
Der Port des lokalen Computers.
-
callback
Funktion
Der Parameter
callback
sieht so aus:(result: number) => void
-
Ergebnis
Zahl
-
connect()
chrome.socket.connect(
socketId: number,
hostname: string,
port: number,
callback: function,
)
Verbindet den Anschluss mit dem Remote-Computer (für einen tcp
-Anschluss). Für einen udp
-Socket wird damit die Standardadresse festgelegt, an die Pakete für read()
- und write()
-Aufrufe gesendet und von der sie gelesen werden.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
Hostname
String
Hostname oder IP-Adresse des Remotecomputers.
-
Port
Zahl
Der Port des Remotecomputers.
-
callback
Funktion
Der Parameter
callback
sieht so aus:(result: number) => void
-
Ergebnis
Zahl
-
create()
chrome.socket.create(
type: SocketType,
options?: CreateOptions,
callback?: function,
)
Erstellt einen Socket vom angegebenen Typ, der eine Verbindung zum angegebenen Remote-Computer herstellt.
Parameter
-
Typ
Der Typ des zu erstellenden Sockets. Muss
tcp
oderudp
sein. -
Optionen
CreateOptions optional
Die Steckdosenoptionen.
-
callback
function optional
Der Parameter
callback
sieht so aus:(createInfo: CreateInfo) => void
-
createInfo
-
Gibt Folgendes zurück:
-
Promise<CreateInfo>
Chrome 121 und höherVersprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
destroy()
chrome.socket.destroy(
socketId: number,
)
Zerstört den Anschluss. Jeder erstellte Socket sollte nach der Verwendung geschlossen werden.
Parameter
-
socketId
Zahl
Die Socket-ID.
disconnect()
chrome.socket.disconnect(
socketId: number,
)
Trennt die Steckdose. Bei UDP-Sockets ist disconnect
eine nicht gültige Operation, die aber sicher aufgerufen werden kann.
Parameter
-
socketId
Zahl
Die Socket-ID.
getInfo()
chrome.socket.getInfo(
socketId: number,
callback?: function,
)
Ruft den Status des angegebenen Sockets ab.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
callback
function optional
Der Parameter
callback
sieht so aus:(result: SocketInfo) => void
-
Ergebnis
-
Gibt Folgendes zurück:
-
Promise<SocketInfo>
Chrome 121 und höherVersprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
getJoinedGroups()
chrome.socket.getJoinedGroups(
socketId: number,
callback: function,
)
Ruft die Multicast-Gruppenadressen ab, mit denen der Socket derzeit verbunden ist.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
callback
Funktion
Der Parameter
callback
sieht so aus:(groups: string[]) => void
-
Gruppen
String[]
-
getNetworkList()
chrome.socket.getNetworkList(
callback?: function,
)
Ruft Informationen zu lokalen Adaptern auf diesem System ab.
Parameter
-
callback
function optional
Der Parameter
callback
sieht so aus:(result: NetworkInterface[]) => void
-
Ergebnis
-
Gibt Folgendes zurück:
-
Promise<NetworkInterface[]>
Chrome 121 und höherVersprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
joinGroup()
chrome.socket.joinGroup(
socketId: number,
address: string,
callback: function,
)
Sie treten der Multicast-Gruppe bei und beginnen, Pakete von dieser Gruppe zu empfangen. Der Socket muss vom Typ UDP sein und vor dem Aufrufen dieser Methode an einen lokalen Port gebunden sein.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
Adresse
String
Die Adresse der Gruppe, der Sie beitreten möchten. Domainnamen werden nicht unterstützt.
-
callback
Funktion
Der Parameter
callback
sieht so aus:(result: number) => void
-
Ergebnis
Zahl
-
leaveGroup()
chrome.socket.leaveGroup(
socketId: number,
address: string,
callback: function,
)
Verlassen Sie die Multicast-Gruppe, der Sie zuvor mit joinGroup
beigetreten sind. Es ist nicht erforderlich, die Multicast-Gruppe zu verlassen, bevor der Socket zerstört oder beendet wird. Dieser wird automatisch vom Betriebssystem aufgerufen.
Wenn die Gruppe verlassen wird, verhindert der Router das Senden von Multicast-Datagrammen an den lokalen Host, vorausgesetzt, kein anderer Prozess auf dem Host ist noch mit der Gruppe verbunden.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
Adresse
String
Die Gruppenadresse, die Sie verlassen möchten. Domainnamen werden nicht unterstützt.
-
callback
Funktion
Der Parameter
callback
sieht so aus:(result: number) => void
-
Ergebnis
Zahl
-
listen()
chrome.socket.listen(
socketId: number,
address: string,
port: number,
backlog?: number,
callback: function,
)
Diese Methode gilt nur für TCP-Sockets. Wartet auf Verbindungen am angegebenen Port und der angegebenen Adresse. Dadurch wird es zu einem Server-Socket und Client-Socket-Funktionen (Verbinden, Lesen, Schreiben) können nicht mehr auf diesem Socket verwendet werden.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
Adresse
String
Die Adresse des lokalen Computers.
-
Port
Zahl
Der Port des lokalen Computers.
-
Backlog
number optional
Länge der Warteschlange des Sockets.
-
callback
Funktion
Der Parameter
callback
sieht so aus:(result: number) => void
-
Ergebnis
Zahl
-
read()
chrome.socket.read(
socketId: number,
bufferSize?: number,
callback: function,
)
Liest Daten aus dem angegebenen verbundenen Socket.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
bufferSize
number optional
Die Größe des Lesepuffers.
-
callback
Funktion
Der Parameter
callback
sieht so aus:(readInfo: ReadInfo) => void
-
readInfo
-
recvFrom()
chrome.socket.recvFrom(
socketId: number,
bufferSize?: number,
callback: function,
)
Empfängt Daten vom angegebenen UDP-Socket.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
bufferSize
number optional
Die Größe des Empfangspuffers.
-
callback
Funktion
Der Parameter
callback
sieht so aus:(recvFromInfo: RecvFromInfo) => void
-
recvFromInfo
-
secure()
chrome.socket.secure(
socketId: number,
options?: SecureOptions,
callback: function,
)
Starten Sie eine TLS-Clientverbindung über einen verbundenen TCP-Client-Socket.
Parameter
-
socketId
Zahl
Der zu verwendende verbundene Anschluss.
-
Optionen
SecureOptions optional
Einschränkungen und Parameter für die TLS-Verbindung.
-
callback
Funktion
Der Parameter
callback
sieht so aus:(result: number) => void
-
Ergebnis
Zahl
-
sendTo()
chrome.socket.sendTo(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
callback: function,
)
Sendet Daten über den angegebenen UDP-Socket an die angegebene Adresse und den angegebenen Port.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
Daten
ArrayBuffer
Die zu schreibenden Daten.
-
Adresse
String
Die Adresse des Remote-Rechners.
-
Port
Zahl
Der Port des Remotecomputers.
-
callback
Funktion
Der Parameter
callback
sieht so aus:(writeInfo: WriteInfo) => void
-
writeInfo
-
setKeepAlive()
chrome.socket.setKeepAlive(
socketId: number,
enable: boolean,
delay?: number,
callback: function,
)
Aktiviert oder deaktiviert die Keep-Alive-Funktion für eine TCP-Verbindung.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
aktivieren
boolean
Wenn „true“ festgelegt ist, wird die Funktion „Keep-Alive“ aktiviert.
-
delay
number optional
Legen Sie die Verzögerung in Sekunden zwischen dem letzten empfangenen Datenpaket und der ersten keepalive-Prüfung fest. Der Standardwert ist 0.
-
callback
Funktion
Der Parameter
callback
sieht so aus:(result: boolean) => void
-
Ergebnis
boolean
-
setMulticastLoopbackMode()
chrome.socket.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
)
Legen Sie fest, ob Multicast-Pakete, die vom Host an die Multicast-Gruppe gesendet werden, an den Host zurückgesendet werden.
Hinweis: Das Verhalten von setMulticastLoopbackMode
unterscheidet sich geringfügig zwischen Windows- und Unix-ähnlichen Systemen. Die Inkonsistenz tritt nur auf, wenn sich auf demselben Host mehrere Anwendungen befinden, die derselben Multicast-Gruppe bei unterschiedlichen Einstellungen für den Multicast-Loopback-Modus beigetreten sind. Unter Windows empfangen Anwendungen ohne Loopback-Funktion keine Loopback-Pakete. Unter Unix-ähnlichen Systemen senden Anwendungen ohne Loopback-Funktion keine Loopback-Pakete an andere Anwendungen auf demselben Host. Weitere Informationen finden Sie in der MSDN-Bibliothek unter http://goo.gl/6vqbj.
Für den Aufruf dieser Methode sind keine Multicast-Berechtigungen erforderlich.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
aktiviert
boolean
Geben Sie an, ob der Loopback-Modus aktiviert werden soll.
-
callback
Funktion
Der Parameter
callback
sieht so aus:(result: number) => void
-
Ergebnis
Zahl
-
setMulticastTimeToLive()
chrome.socket.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
)
Legen Sie die Lebensdauer von Multicast-Paketen fest, die an die Multicast-Gruppe gesendet werden.
Für den Aufruf dieser Methode sind keine Multicast-Berechtigungen erforderlich.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
ttl
Zahl
Der Gültigkeitszeitraum.
-
callback
Funktion
Der Parameter
callback
sieht so aus:(result: number) => void
-
Ergebnis
Zahl
-
setNoDelay()
chrome.socket.setNoDelay(
socketId: number,
noDelay: boolean,
callback: function,
)
Legt TCP_NODELAY
für eine TCP-Verbindung fest oder löscht es. Der Nagle-Algorithmus wird deaktiviert, wenn TCP_NODELAY
festgelegt ist.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
noDelay
boolean
Wenn „wahr“ festgelegt ist, wird der Nagle-Algorithmus deaktiviert.
-
callback
Funktion
Der Parameter
callback
sieht so aus:(result: boolean) => void
-
Ergebnis
boolean
-
write()
chrome.socket.write(
socketId: number,
data: ArrayBuffer,
callback: function,
)
Schreibt Daten in den angegebenen verbundenen Socket.