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
Die Präfixlänge
ReadInfo
Attribute
-
Daten
ArrayBuffer
-
resultCode
Zahl
Der von dem zugrunde liegenden read()-Aufruf zurückgegebene resultCode.
RecvFromInfo
Attribute
-
Adresse
String
Die Adresse des Remote-Computers.
-
Daten
ArrayBuffer
-
Port
Zahl
-
resultCode
Zahl
Der vom zugrunde liegenden recvfrom()-Aufruf zurückgegebene resultCode.
SecureOptions
Attribute
-
tlsVersion
TLSVersionConstraints optional
SocketInfo
Attribute
-
verbunden
boolean
Gibt an, ob die zugrunde liegende Socket-Verbindung besteht.
Für
tcp
-Sockets gilt dies auch dann, wenn die Remote-Gegenstelle die Verbindung getrennt hat. Das Lesen oder Schreiben in den Socket kann dann zu einem Fehler führen, der darauf hinweist, dass dieser Socket überdisconnect()
getrennt werden sollte.Bei
udp
-Sockets gibt dies nur an, ob eine standardmäßige Remote-Adresse zum 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-/IPv6-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. Das ist
tcp
oderudp
.
SocketType
Enum
"tcp"
"udp"
TLSVersionConstraints
Attribute
-
max
String optional
-
Min.
String optional
Die minimal und maximal zulässigen Versionen 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,
): void
Diese Methode gilt nur für TCP-Sockets. Registriert eine Callback-Funktion, die aufgerufen werden soll, wenn eine Verbindung auf diesem Listening-Server-Socket akzeptiert wird. „Listen“ muss zuerst aufgerufen werden. Wenn bereits ein aktiver Accept-Callback 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,
): void
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,
): void
Stellt die Verbindung des Sockets zum Remotecomputer her (für einen tcp
-Socket). 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
Der Hostname oder die 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,
): Promise<CreateInfo>
Erstellt einen Socket des angegebenen Typs, der eine Verbindung zur angegebenen Remote-Maschine herstellt.
Parameter
-
Typ
Der Typ des zu erstellenden Sockets. Muss
tcp
oderudp
sein. -
Optionen
CreateOptions optional
Die Socket-Optionen.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(createInfo: CreateInfo) => void
-
createInfo
-
Ausgabe
-
Promise<CreateInfo>
Chrome 121 und höherPromises 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,
): void
Zerstört den Socket. Jeder erstellte Socket sollte nach der Verwendung zerstört werden.
Parameter
-
socketId
Zahl
Die Socket-ID.
disconnect()
chrome.socket.disconnect(
socketId: number,
): void
Trennt die Verbindung zur Steckdose. Für UDP-Sockets ist disconnect
keine Operation, kann aber sicher aufgerufen werden.
Parameter
-
socketId
Zahl
Die Socket-ID.
getInfo()
chrome.socket.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
Ruft den Status des angegebenen Sockets ab.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(result: SocketInfo) => void
-
Ergebnis
-
Ausgabe
-
Promise<SocketInfo>
Chrome 121 und höherPromises 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,
): void
Ruft die Multicastgruppenadressen ab, denen der Socket derzeit angehört.
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,
): Promise<NetworkInterface[]>
Ruft Informationen zu lokalen Adaptern auf diesem System ab.
Parameter
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(result: NetworkInterface[]) => void
-
Ergebnis
-
Ausgabe
-
Promise<NetworkInterface[]>
Chrome 121 und höherPromises 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,
): void
Treten Sie der Multicastgruppe bei und beginnen Sie, Pakete von dieser Gruppe zu empfangen. Der Socket muss vom Typ „UDP“ sein und vor dem Aufrufen dieser Methode an einen lokalen Port gebunden werden.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
Adresse
String
Die Gruppenadresse, 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,
): void
Verlässt die zuvor mit joinGroup
beigetretene Multicastgruppe. Es ist nicht erforderlich, die Multicastgruppe zu verlassen, bevor der Socket zerstört oder das Programm beendet wird. Diese Methode wird automatisch vom Betriebssystem aufgerufen.
Wenn Sie die Gruppe verlassen, werden keine Multicast-Datagramme mehr vom Router an den lokalen Host gesendet, sofern kein anderer Prozess auf dem Host noch Mitglied der Gruppe ist.
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,
): void
Diese Methode gilt nur für TCP-Sockets. Wartet auf Verbindungen am angegebenen Port und an der angegebenen Adresse. Dadurch wird dieser Socket zu einem Server-Socket und Client-Socket-Funktionen (connect, read, write) können nicht mehr für diesen 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 Listen-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,
): void
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,
): void
Empfängt Daten vom angegebenen UDP-Socket.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
bufferSize
number optional
Die Größe des Zwischenspeichers für eingehende Daten.
-
callback
Funktion
Der Parameter
callback
sieht so aus:(recvFromInfo: RecvFromInfo) => void
-
recvFromInfo
-
secure()
chrome.socket.secure(
socketId: number,
options?: SecureOptions,
callback: function,
): void
Starten Sie eine TLS-Clientverbindung über einen verbundenen TCP-Clientsocket.
Parameter
-
socketId
Zahl
Der zu verwendende verbundene Socket.
-
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,
): void
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-Computers.
-
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,
): void
Aktiviert oder deaktiviert die Keep-Alive-Funktion für eine TCP-Verbindung.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
aktivieren
boolean
Bei „true“ wird die Keep-Alive-Funktion aktiviert.
-
delay
number optional
Legen Sie die Verzögerungssekunden zwischen dem letzten empfangenen Datenpaket und der ersten Keep-Alive-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,
): void
Legt fest, ob Multicast-Pakete, die vom Host an die Multicast-Gruppe gesendet werden, an den Host zurückgeleitet werden.
Hinweis: Das Verhalten von setMulticastLoopbackMode
unterscheidet sich geringfügig zwischen Windows und Unix-ähnlichen Systemen. Die Inkonsistenz tritt nur auf, wenn auf demselben Host mehrere Anwendungen vorhanden sind, die derselben Multicastgruppe beigetreten sind und unterschiedliche Einstellungen für den Multicast-Loopback-Modus haben. Unter Windows EMPFANGEN Anwendungen, bei denen Loopback deaktiviert ist, die Loopback-Pakete nicht. Auf Unix-ähnlichen Systemen SENDEN Anwendungen, bei denen Loopback deaktiviert ist, die Loopback-Pakete nicht an andere Anwendungen auf demselben Host. Weitere Informationen finden Sie im MSDN: https://learn.microsoft.com/en-us/windows/win32/winsock/ip-multicast-2
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,
): void
Legen Sie die Gültigkeitsdauer 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 TTL-Wert.
-
callback
Funktion
Der Parameter
callback
sieht so aus:(result: number) => void
-
Ergebnis
Zahl
-
setNoDelay()
chrome.socket.setNoDelay(
socketId: number,
noDelay: boolean,
callback: function,
): void
Legt TCP_NODELAY
für eine TCP-Verbindung fest oder entfernt sie. Der Nagle-Algorithmus wird deaktiviert, wenn TCP_NODELAY
festgelegt ist.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
noDelay
boolean
Wenn „true“, 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,
): void
Schreibt Daten in den angegebenen verbundenen Socket.