Beschreibung
Mit der chrome.sockets.tcp
API können Sie Daten über das Netzwerk über TCP-Verbindungen senden und empfangen. Diese API ersetzt die TCP-Funktionen, die zuvor in der chrome.socket
API verfügbar waren.
Manifest
Die folgenden Schlüssel müssen im Manifest deklariert werden, damit diese API verwendet werden kann.
"sockets"
Typen
CreateInfo
Attribute
-
socketId
Zahl
Die ID des neu erstellten Sockets. Socket-IDs, die mit dieser API erstellt wurden, sind nicht mit Socket-IDs kompatibel, die mit anderen APIs erstellt wurden, z. B. mit der eingestellten
[
socket](../socket/)
API.
DnsQueryType
Einstellungen für die DNS-Auflösung. Der Standardwert ist any
. Dabei wird die aktuelle Betriebssystemkonfiguration verwendet, die möglicherweise IPv4 oder IPv6 zurückgibt. ipv4
erzwingt IPv4 und ipv6
erzwingt IPv6.
Enum
"any"
"ipv4"
"ipv6"
ReceiveErrorInfo
Attribute
-
resultCode
Zahl
Der vom zugrunde liegenden Netzwerkaufruf zurückgegebene Ergebniscode.
-
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
number optional
Die Anzahl der gesendeten Byte (wenn „result“ == 0)
-
resultCode
Zahl
Der vom zugrunde liegenden Netzwerkaufruf zurückgegebene Ergebniscode. Ein negativer Wert weist auf einen Fehler hin.
SocketInfo
Attribute
-
bufferSize
number optional
Die Größe des Puffers, der zum Empfangen von Daten verwendet wird. Wenn keine Puffergröße explizit angegeben wurde, wird der Wert nicht angegeben.
-
verbunden
boolean
Flag, das angibt, ob der Socket mit einem Remote-Peer verbunden ist.
-
localAddress
String optional
Wenn der zugrunde liegende Socket verbunden ist, enthält er seine lokale IPv4-/6-Adresse.
-
localPort
number optional
Wenn die zugrunde liegende Socket verbunden ist, enthält sie ihren lokalen Port.
-
name
String optional
Anwendungsdefinierter String, der dem Socket zugeordnet ist.
-
pausiert
boolean
Flag, das angibt, ob ein verbundener Socket das Senden weiterer Daten durch den Peer blockiert (siehe
setPaused
). -
peerAddress
String optional
Wenn der zugrunde liegende Socket verbunden ist, enthält er die Peer-/IPv4-/IPv6-Adresse.
-
peerPort
number optional
Wenn die zugrunde liegende Socket verbunden ist, enthält sie den Peer-Port.
-
nichtflüchtige
boolean
Flag, das angibt, ob der Socket geöffnet bleibt, wenn die Anwendung angehalten wird (siehe
SocketProperties.persistent
). -
socketId
Zahl
Die Socket-ID.
SocketProperties
Attribute
-
bufferSize
number optional
Die Größe des Puffers, der zum Empfangen von Daten verwendet wird. Der Standardwert ist 4096.
-
name
String optional
Ein anwendungsdefinierter String, der dem Socket zugeordnet ist.
-
nichtflüchtige
boolean optional
Flag, das angibt, ob der Socket geöffnet bleibt, wenn die Ereignisseite der Anwendung entladen wird (siehe App-Lebenszyklus verwalten). Der Standardwert ist „false“. Wenn die Anwendung geladen wird, können alle zuvor mit „persistent=true“ geöffneten Sockets mit
getSockets
abgerufen werden.
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.
Methoden
close()
chrome.sockets.tcp.close(
socketId: number,
callback?: function,
): Promise<void>
Schließt den Socket und gibt die Adresse/den Port frei, an die 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. Es wird jedoch garantiert, dass der Socket erst geschlossen wird, wenn der Callback aufgerufen wird.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Ausgabe
-
Promise<void>
Chrome 121 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
connect()
chrome.sockets.tcp.connect(
socketId: number,
peerAddress: string,
peerPort: number,
dnsQueryType?: DnsQueryType,
callback: function,
): void
Verbindet den Socket mit einem Remote-Computer. Wenn der Vorgang connect
erfolgreich abgeschlossen wurde, werden onReceive
-Ereignisse ausgelöst, wenn Daten vom Peer empfangen werden. Wenn beim Empfangen von Paketen durch die Laufzeit ein Netzwerkfehler auftritt, wird ein onReceiveError
-Ereignis ausgelöst. Danach wird für diesen Socket kein onReceive
-Ereignis mehr ausgelöst, bis die resume
-Methode aufgerufen wird.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
peerAddress
String
Die Adresse des Remote-Computers. DNS-Name, IPv4- und IPv6-Formate werden unterstützt.
-
peerPort
Zahl
Der Port des Remotecomputers.
-
dnsQueryType
DnsQueryType optional
Chrome 103 und höherDie bevorzugte Methode zur Adressauflösung.
-
callback
Funktion
Der Parameter
callback
sieht so aus:(result: number) => void
-
Ergebnis
Zahl
Der vom zugrunde liegenden Netzwerkaufruf zurückgegebene Ergebniscode. Ein negativer Wert weist auf einen Fehler hin.
-
create()
chrome.sockets.tcp.create(
properties?: SocketProperties,
callback?: function,
): Promise<CreateInfo>
Erstellt einen TCP-Socket.
Parameter
-
Properties
SocketProperties optional
Die Socket-Attribute (optional).
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(createInfo: CreateInfo) => void
-
createInfo
Das Ergebnis der Socket-Erstellung.
-
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.
disconnect()
chrome.sockets.tcp.disconnect(
socketId: number,
callback?: function,
): Promise<void>
Trennt die Verbindung zur Steckdose.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Ausgabe
-
Promise<void>
Chrome 121 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
getInfo()
chrome.sockets.tcp.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:(socketInfo: SocketInfo) => void
-
socketInfo
Objekt mit den Socket-Informationen.
-
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.
getSockets()
chrome.sockets.tcp.getSockets(
callback?: function,
): Promise<SocketInfo[]>
Ruft die Liste der derzeit geöffneten Sockets ab, die der Anwendung gehören.
Parameter
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(socketInfos: SocketInfo[]) => void
-
socketInfos
Array mit Objekten, die Socket-Informationen enthalten.
-
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.
secure()
chrome.sockets.tcp.secure(
socketId: number,
options?: SecureOptions,
callback: function,
): void
Starten Sie eine TLS-Clientverbindung über den verbundenen TCP-Client-Socket.
Parameter
-
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,
): void
Sendet Daten über den angegebenen TCP-Socket.
Parameter
-
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,
): 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: number) => void
-
Ergebnis
Zahl
Der vom zugrunde liegenden Netzwerkaufruf zurückgegebene Ergebniscode. Ein negativer Wert weist auf einen Fehler hin.
-
setNoDelay()
chrome.sockets.tcp.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: number) => void
-
Ergebnis
Zahl
Der vom zugrunde liegenden Netzwerkaufruf zurückgegebene Ergebniscode. Ein negativer Wert weist auf einen Fehler hin.
-
setPaused()
chrome.sockets.tcp.setPaused(
socketId: number,
paused: boolean,
callback?: function,
): Promise<void>
Aktiviert oder deaktiviert den Empfang von Nachrichten von der Peer-App. Der Standardwert lautet „false“. Das Pausieren eines Sockets wird in der Regel von einer Anwendung verwendet, um die von ihrem Peer gesendeten Daten zu drosseln. Wenn ein Socket pausiert wird, wird kein onReceive
-Ereignis ausgelöst. Wenn ein Socket verbunden und die Pause aufgehoben wird, werden onReceive
-Ereignisse wieder ausgelöst, wenn Nachrichten empfangen werden.
Parameter
-
socketId
Zahl
-
pausiert
boolean
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Ausgabe
-
Promise<void>
Chrome 121 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
update()
chrome.sockets.tcp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
): Promise<void>
Aktualisiert die Socket-Attribute.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
Properties
Die zu aktualisierenden Attribute.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Ausgabe
-
Promise<void>
Chrome 121 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
Ereignisse
onReceive
chrome.sockets.tcp.onReceive.addListener(
callback: function,
)
Ereignis, das ausgelöst wird, wenn Daten für einen bestimmten Socket empfangen wurden.
Parameter
-
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 auftritt, während die Laufzeit auf Daten an der Socketadresse und am Port wartet. Sobald dieses Ereignis ausgelöst wird, wird der Socket auf paused
gesetzt und es werden keine weiteren onReceive
-Ereignisse für diesen Socket ausgelöst.
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus:(info: ReceiveErrorInfo) => void
-
Info
-