Beschreibung
Mit der chrome.socket API können Sie Daten über das Netzwerk über 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
socketTypen
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/6-Adresse.
-
name
String
Der zugrunde liegende Name des Adapters. Unter *nix ist dies normalerweise „eth0“, „lo“ usw.
-
prefixLength
Zahl
Die 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-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 der zugrunde liegende Socket verbunden ist.
Bei
tcp-Sockets bleibt dies auch dann der Fall, wenn die Verbindung zum Remote-Peer getrennt wurde. 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 Standard-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/6-Adresse des Peers.
-
peerPort
number optional
Wenn der zugrunde liegende Socket verbunden ist, enthält dies den Port des verbundenen Peers.
-
socketType
Der Typ des übergebenen Sockets. Das kann
tcpoderudpsein.
SocketType
Enum
"tcp"
"udp"
TLSVersionConstraints
Attribute
-
max
String optional
-
Min.
String optional
Die zulässige Mindest- und Höchstversion von TLS. Unterstützte Werte sind
tls1.2odertls1.3.Die Werte
tls1undtls1.1werden nicht mehr unterstützt. Wennminauf einen dieser Werte festgelegt ist, wird er automatisch auftls1.2beschränkt. Wennmaxauf einen dieser Werte oder einen anderen nicht erkannten Wert festgelegt ist, wird er 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 wird, wenn eine Verbindung auf diesem überwachenden Server-Socket akzeptiert wird. „Listen“ muss zuerst aufgerufen werden. Wenn bereits ein aktiver Annahme-Callback vorhanden ist, wird dieser Callback sofort mit einem Fehler als „resultCode“ aufgerufen.
Parameter
-
socketId
Zahl
Die socketId.
-
callback
Funktion
Der Parameter
callbacksieht 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 werden TCP-Sockets nicht unterstützt.
Parameter
-
socketId
Zahl
Die socketId.
-
Adresse
String
Die Adresse des lokalen Computers.
-
Port
Zahl
Der Port des lokalen Computers.
-
callback
Funktion
Der Parameter
callbacksieht so aus:(result: number) => void
-
Ergebnis
Zahl
-
connect()
chrome.socket.connect(
socketId: number,
hostname: string,
port: number,
callback: function,
): void
Verbindet den Socket mit dem Remote-Computer (für einen tcp-Socket). Bei einem 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 socketId.
-
Hostname
String
Der Hostname oder die IP-Adresse des Remote-Computers.
-
Port
Zahl
Der Port des Remote-Computers.
-
callback
Funktion
Der Parameter
callbacksieht 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 zum angegebenen Remote-Computer herstellt.
Parameter
-
Typ
Der Typ des zu erstellenden Sockets. Muss
tcpoderudpsein. -
Optionen
CreateOptions optional
Die Socket-Optionen.
-
callback
function optional
Der Parameter
callbacksieht 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 gelöscht werden.
Parameter
-
socketId
Zahl
Die socketId.
disconnect()
chrome.socket.disconnect(
socketId: number,
): void
Trennt die Verbindung zum Socket. Bei UDP-Sockets ist disconnect ein Nicht-Vorgang, kann aber sicher aufgerufen werden.
Parameter
-
socketId
Zahl
Die socketId.
getInfo()
chrome.socket.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
Ruft den Status des angegebenen Sockets ab.
Parameter
-
socketId
Zahl
Die socketId.
-
callback
function optional
Der Parameter
callbacksieht 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 Multicast-Gruppenadressen ab, mit denen der Socket derzeit verbunden ist.
Parameter
-
socketId
Zahl
Die socketId.
-
callback
Funktion
Der Parameter
callbacksieht 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
function optional
Der Parameter
callbacksieht 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 Multicast-Gruppe bei und empfangen Sie Pakete von dieser Gruppe. Der Socket muss vom Typ UDP sein und vor dem Aufruf dieser Methode an einen lokalen Port gebunden werden.
Parameter
-
socketId
Zahl
Die socketId.
-
Adresse
String
Die Gruppenadresse, der Sie beitreten möchten. Domainnamen werden nicht unterstützt.
-
callback
Funktion
Der Parameter
callbacksieht so aus:(result: number) => void
-
Ergebnis
Zahl
-
leaveGroup()
chrome.socket.leaveGroup(
socketId: number,
address: string,
callback: function,
): void
Verlassen Sie die Multicast-Gruppe, der Sie zuvor mit joinGroup beigetreten sind. Es ist nicht erforderlich, die Multicast-Gruppe zu verlassen, bevor der Socket gelöscht oder beendet wird. Diese wird automatisch vom Betriebssystem aufgerufen.
Wenn Sie die Gruppe verlassen, sendet der Router keine Multicast-Datagramme mehr an den lokalen Host, sofern kein anderer Prozess auf dem Host noch der Gruppe angehört.
Parameter
-
socketId
Zahl
Die socketId.
-
Adresse
String
Die Adresse der Gruppe, die Sie verlassen möchten. Domainnamen werden nicht unterstützt.
-
callback
Funktion
Der Parameter
callbacksieht 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. Lauscht auf Verbindungen am angegebenen Port und an der angegebenen Adresse. Dadurch wird er zu einem Server-Socket und Client-Socket-Funktionen (Verbinden, Lesen, Schreiben) können nicht mehr für diesen Socket verwendet werden.
Parameter
-
socketId
Zahl
Die socketId.
-
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
callbacksieht 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 socketId.
-
bufferSize
number optional
Die Puffergröße für Lesevorgänge.
-
callback
Funktion
Der Parameter
callbacksieht 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 socketId.
-
bufferSize
number optional
Die Größe des Empfangspuffers.
-
callback
Funktion
Der Parameter
callbacksieht so aus:(recvFromInfo: RecvFromInfo) => void
-
recvFromInfo
-
secure()
chrome.socket.secure(
socketId: number,
options?: SecureOptions,
callback: function,
): void
Startet eine TLS-Clientverbindung über einen verbundenen TCP-Client-Socket.
Parameter
-
socketId
Zahl
Der zu verwendende verbundene Socket.
-
Optionen
SecureOptions optional
Einschränkungen und Parameter für die TLS-Verbindung.
-
callback
Funktion
Der Parameter
callbacksieht 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 socketId.
-
Daten
ArrayBuffer
Die zu schreibenden Daten.
-
Adresse
String
Die Adresse des Remote-Computers.
-
Port
Zahl
Der Port des Remote-Computers.
-
callback
Funktion
Der Parameter
callbacksieht 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 socketId.
-
aktivieren
boolean
Wenn „true“, wird die Keep-Alive-Funktion 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
callbacksieht so aus:(result: boolean) => void
-
Ergebnis
boolean
-
setMulticastLoopbackMode()
chrome.socket.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
): void
Legen Sie 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 mehr als eine Anwendung auf demselben Host derselben Multicast-Gruppe beigetreten ist und unterschiedliche Einstellungen für den Multicast-Loopback-Modus hat. Unter Windows EMPFANGEN die Anwendungen mit deaktiviertem Loopback die Loopback-Pakete nicht. Auf Unix-ähnlichen Systemen SENDEN die Anwendungen mit deaktiviertem Loopback die Loopback-Pakete nicht an andere Anwendungen auf demselben Host. Siehe 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 socketId.
-
aktiviert
boolean
Geben Sie an, ob der Loopback-Modus aktiviert werden soll.
-
callback
Funktion
Der Parameter
callbacksieht 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 socketId.
-
ttl
Zahl
Der Wert für die Gültigkeitsdauer.
-
callback
Funktion
Der Parameter
callbacksieht 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 löscht es. Der Nagle-Algorithmus wird deaktiviert, wenn TCP_NODELAY festgelegt ist.
Parameter
-
socketId
Zahl
Die socketId.
-
noDelay
boolean
Wenn „true“, wird der Nagle-Algorithmus deaktiviert.
-
callback
Funktion
Der Parameter
callbacksieht 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.