Beschreibung
Mit der chrome.sockets.tcp
API können Sie über TCP-Verbindungen Daten über das Netzwerk senden und empfangen. Diese API ersetzt die bisherige TCP-Funktion der chrome.socket
API.
Manifest
Die folgenden Schlüssel müssen im Manifest deklariert werden, um diese API verwenden zu können.
"sockets"
Typen
CreateInfo
Attribute
-
socketId
Zahl
Die ID des neu erstellten Sockets. Beachten Sie, dass die von dieser API erstellten Socket-IDs nicht mit Socket-IDs kompatibel sind, die von anderen APIs erstellt wurden, z. B. der verworfenen
[
Socket](../socket/)
API.
DnsQueryType
Einstellungen für die DNS-Auflösung. Der Standardwert ist any
und verwendet die aktuelle Betriebssystemkonfiguration, die möglicherweise IPv4 oder IPv6 zurückgibt. ipv4
erzwingt IPv4 und ipv6
erzwingt IPv6.
Enum
"ipv4"
"ipv6"
ReceiveErrorInfo
Attribute
-
resultCode
Zahl
Der Ergebniscode, der vom zugrunde liegenden Netzwerkaufruf zurückgegeben wurde.
-
socketId
Zahl
Die Socket-ID.
ReceiveInfo
Attribute
-
Daten
ArrayBuffer
Die empfangenen Daten mit einer maximalen Größe von
bufferSize
. -
socketId
Zahl
Die Socket-ID.
SecureOptions
Attribute
-
tlsVersion
TLSVersionConstraints optional
SendInfo
Attribute
-
bytesSent
Nummer optional
Die Anzahl der gesendeten Byte (wenn Ergebnis == 0)
-
resultCode
Zahl
Der Ergebniscode, der vom zugrunde liegenden Netzwerkaufruf zurückgegeben wurde. Ein negativer Wert weist auf einen Fehler hin.
SocketInfo
Attribute
-
bufferSize
Nummer optional
Die Größe des Zwischenspeichers, der zum Empfangen von Daten verwendet wird. Wenn nicht explizit keine Puffergröße angegeben wurde, wird kein Wert angegeben.
-
verbunden
boolean
Flag, das angibt, ob der Socket mit einem Remote-Peer verbunden ist.
-
localAddress
String optional
Enthält seine lokale IPv4/6-Adresse, wenn der zugrunde liegende Socket verbunden ist.
-
localPort
Nummer optional
Enthält seinen lokalen Port, wenn der zugrunde liegende Socket verbunden ist.
-
name
String optional
Anwendungsdefinierter String, der dem Socket zugeordnet ist.
-
pausiert
boolean
Flag, das angibt, ob ein verbundener Socket seinen Peer daran hindert, weitere Daten zu senden (siehe
setPaused
). -
peerAddress
String optional
Enthält die Peer-/IPv4/6-Adresse, wenn der zugrunde liegende Socket verbunden ist.
-
peerPort
Nummer optional
Enthält den Peer-Port, wenn der zugrunde liegende Socket verbunden ist.
-
nichtflüchtige
boolean
Flag, das angibt, ob der Socket geöffnet ist, wenn die Anwendung angehalten wird (siehe
SocketProperties.persistent
). -
socketId
Zahl
Die Socket-ID.
SocketProperties
Attribute
-
bufferSize
Nummer optional
Die Größe des Zwischenspeichers, der zum Empfangen von Daten verwendet wird. Der Standardwert ist 4096.
-
name
String optional
Ein anwendungsdefinierter String, der dem Socket zugeordnet ist.
-
nichtflüchtige
Boolescher Wert optional
Flag, das angibt, ob der Socket geöffnet ist, wenn die Ereignisseite der App entladen wird (siehe App-Lebenszyklus verwalten). Der Standardwert ist „false“. Wenn die Anwendung geladen wird, können alle Sockets, die zuvor mit persistent=true geöffnet wurden, mit
getSockets
abgerufen werden.
TLSVersionConstraints
Attribute
-
Max.
String optional
-
Min.
String optional
Die zulässigen Mindest- und Höchstversionen 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 antls1.2
gesetzt. Wennmax
auf einen dieser Werte oder einen anderen nicht erkannten Wert festgelegt ist, wird er ignoriert.
Methoden
close()
chrome.sockets.tcp.close(
socketId: number,
callback?: function,
)
Schließt den Socket und gibt die Adresse bzw. den Port frei, an den der Socket gebunden ist. Jeder erstellte Socket sollte nach der Verwendung geschlossen werden. Die Socket-ID ist nicht mehr gültig, sobald die Funktion aufgerufen wird. Der Socket wird jedoch nur dann garantiert, wenn der Callback aufgerufen wird.
Parameters
-
socketId
Zahl
Die Socket-ID.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Rückgaben
-
Promise<void>
Chrome 121 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
connect()
chrome.sockets.tcp.connect(
socketId: number,
peerAddress: string,
peerPort: number,
dnsQueryType?: DnsQueryType,
callback: function,
)
Verbindet den Socket mit einem Remote-Computer. Wenn der connect
-Vorgang erfolgreich abgeschlossen wurde, werden onReceive
-Ereignisse ausgelöst, wenn Daten vom Peer empfangen werden. Wenn ein Netzwerkfehler auftritt, während die Laufzeit Pakete empfängt, wird ein onReceiveError
-Ereignis ausgelöst. Zu diesem Zeitpunkt wird kein onReceive
-Ereignis mehr für diesen Socket ausgelöst, bis die Methode resume
aufgerufen wird.
Parameters
-
socketId
Zahl
Die Socket-ID.
-
peerAddress
String
Die Adresse des Remote-Computers. DNS-Namen, IPv4- und IPv6-Formate werden unterstützt.
-
peerPort
Zahl
Der Port des Remote-Computers.
-
dnsQueryType
DnsQueryType optional
Chrome 103 und höherDie Einstellung für die Adressauflösung.
-
callback
Funktion
Der Parameter
callback
sieht so aus:(result: number) => void
-
Ergebnis
Zahl
Der Ergebniscode, der vom zugrunde liegenden Netzwerkaufruf zurückgegeben wurde. Ein negativer Wert weist auf einen Fehler hin.
-
create()
chrome.sockets.tcp.create(
properties?: SocketProperties,
callback?: function,
)
Erstellt einen TCP-Socket.
Parameters
-
Properties
SocketProperties optional
Die Socket-Eigenschaften (optional).
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(createInfo: CreateInfo) => void
-
createInfo
Das Ergebnis der Socket-Erstellung.
-
Rückgaben
-
Promise<CreateInfo>
Chrome 121 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
disconnect()
chrome.sockets.tcp.disconnect(
socketId: number,
callback?: function,
)
Trennt das Socket.
Parameters
-
socketId
Zahl
Die Socket-ID.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Rückgaben
-
Promise<void>
Chrome 121 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
getInfo()
chrome.sockets.tcp.getInfo(
socketId: number,
callback?: function,
)
Ruft den Status des angegebenen Sockets ab.
Parameters
-
socketId
Zahl
Die Socket-ID.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(socketInfo: SocketInfo) => void
-
socketInfo
Objekt mit den Socket-Informationen.
-
Rückgaben
-
Promise<SocketInfo>
Chrome 121 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
getSockets()
chrome.sockets.tcp.getSockets(
callback?: function,
)
Ruft die Liste der aktuell geöffneten Sockets ab, die der Anwendung gehören.
Parameters
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(socketInfos: SocketInfo[]) => void
-
socketInfos
Array eines Objekts mit Socket-Informationen.
-
Rückgaben
-
Promise<SocketInfo[]>
Chrome 121 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
secure()
chrome.sockets.tcp.secure(
socketId: number,
options?: SecureOptions,
callback: function,
)
Starten Sie eine TLS-Clientverbindung über den verbundenen TCP-Client-Socket.
Parameters
-
socketId
Zahl
Der vorhandene, verbundene Socket, der verwendet werden soll.
-
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
-
send()
chrome.sockets.tcp.send(
socketId: number,
data: ArrayBuffer,
callback: function,
)
Sendet Daten über den angegebenen TCP-Socket.
Parameters
-
socketId
Zahl
Die Socket-ID.
-
Daten
ArrayBuffer
Die zu sendenden Daten.
-
callback
Funktion
Der Parameter
callback
sieht so aus:(sendInfo: SendInfo) => void
-
sendInfo
Ergebnis der Methode
send
.
-
setKeepAlive()
chrome.sockets.tcp.setKeepAlive(
socketId: number,
enable: boolean,
delay?: number,
callback: function,
)
Aktiviert oder deaktiviert die Keep-Alive-Funktion für eine TCP-Verbindung.
Parameters
-
socketId
Zahl
Die Socket-ID.
-
enable
boolean
Falls wahr, aktivieren Sie die Keep-Alive-Funktion.
-
delay
Nummer optional
Legen Sie die Verzögerung in Sekunden zwischen dem letzten empfangenen Datenpaket und der ersten Keepalive-Prüfung fest. Die Standardeinstellung ist 0.
-
callback
Funktion
Der Parameter
callback
sieht so aus:(result: number) => void
-
Ergebnis
Zahl
Der Ergebniscode, der vom zugrunde liegenden Netzwerkaufruf zurückgegeben wurde. Ein negativer Wert weist auf einen Fehler hin.
-
setNoDelay()
chrome.sockets.tcp.setNoDelay(
socketId: number,
noDelay: boolean,
callback: function,
)
Legt TCP_NODELAY
für eine TCP-Verbindung fest oder löscht sie. Der Algorithmus von Nagle wird deaktiviert, wenn TCP_NODELAY
festgelegt ist.
Parameters
-
socketId
Zahl
Die Socket-ID.
-
noDelay
boolean
Bei „true“ wird der Algorithmus von Nagle deaktiviert.
-
callback
Funktion
Der Parameter
callback
sieht so aus:(result: number) => void
-
Ergebnis
Zahl
Der Ergebniscode, der vom zugrunde liegenden Netzwerkaufruf zurückgegeben wurde. Ein negativer Wert weist auf einen Fehler hin.
-
setPaused()
chrome.sockets.tcp.setPaused(
socketId: number,
paused: boolean,
callback?: function,
)
Aktiviert oder deaktiviert die Anwendung am Empfang von Nachrichten von ihrem Peer. Der Standardwert lautet „false“. Das Pausieren eines Sockets wird normalerweise von einer Anwendung verwendet, um die von ihrem Peer gesendeten Daten zu drosseln. Wenn ein Socket pausiert ist, wird kein onReceive
-Ereignis ausgelöst. Wenn ein Socket verbunden und die Pausierung aufgehoben wird, werden onReceive
-Ereignisse wieder ausgelöst, wenn Nachrichten empfangen werden.
Parameters
-
socketId
Zahl
-
pausiert
boolean
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Rückgaben
-
Promise<void>
Chrome 121 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
update()
chrome.sockets.tcp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
)
Aktualisiert die Socket-Attribute.
Parameters
-
socketId
Zahl
Die Socket-ID.
-
Properties
Die zu aktualisierenden Attribute.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Rückgaben
-
Promise<void>
Chrome 121 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
Veranstaltungen
onReceive
chrome.sockets.tcp.onReceive.addListener(
callback: function,
)
Ereignis, das ausgelöst wird, wenn Daten für einen bestimmten Socket empfangen wurden.
Parameters
-
callback
Funktion
Der Parameter
callback
sieht so aus:(info: ReceiveInfo) => void
-
Info
-
onReceiveError
chrome.sockets.tcp.onReceiveError.addListener(
callback: function,
)
Ereignis, das ausgelöst wird, wenn ein Netzwerkfehler aufgetreten ist, während die Laufzeit auf Daten zur Socket-Adresse und zum Port gewartet hat. Sobald dieses Ereignis ausgelöst wird, wird der Socket auf paused
gesetzt und es werden keine onReceive
-Ereignisse mehr für diesen Socket ausgelöst.
Parameters
-
callback
Funktion
Der Parameter
callback
sieht so aus:(info: ReceiveErrorInfo) => void
-
Info
-