WebSocketStream: WebSocketStream()-Konstruktor
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.
Hinweis: Dieses Feature ist verfügbar in Web Workers.
Der WebSocketStream()
-Konstruktor erstellt eine neue Instanz des WebSocketStream
-Objekts.
Syntax
new WebSocketStream(url)
new WebSocketStream(url, options)
Parameter
url
-
Ein String, der die URL des WebSocket-Servers darstellt, mit dem Sie sich über diese
WebSocketStream
-Instanz verbinden möchten. Zulässige URL-Schemata sind"ws"
,"wss"
,"http"
und"https"
. options
Optional-
Ein Objekt, das die folgenden Eigenschaften enthalten kann:
protocols
Optional-
Ein einzelner String oder ein Array von Strings, das/die die Subprotokoll(e) darstellt, die der Client verwenden möchte, z.B.
"amqp"
oder"mqtt"
. Subprotokolle können aus dem IANA WebSocket Subprotocol Name Registry ausgewählt oder benutzerdefinierte Namen sein, die von Client und Server gemeinsam verstanden werden. Ein einzelner Server kann mehrere WebSocket-Subprotokolle implementieren und je nach angegebenem Wert unterschiedliche Interaktionstypen behandeln. Wenn es weggelassen wird, wird standardmäßig ein leeres Array verwendet. Wennprotocols
enthalten ist, wird die Verbindung nur hergestellt, wenn der Server meldet, dass er eines dieser Subprotokolle ausgewählt hat. signal
Optional-
Ein
AbortSignal
, das zu einemAbortController
gehört, den Sie verwenden möchten, um die WebSocket-Verbindung zu schließen.
Ausnahmen
SyntaxError
DOMException
-
Wird ausgelöst, wenn das URL-Schema nicht eines von
"ws"
,"wss"
,"http"
oder"https"
ist.
Beispiele
Das einfachste Beispiel nimmt die URL eines WebSocket-Servers als Argument:
const wss = new WebSocketStream("wss://example.com/wss");
Ein fortgeschritteneres Beispiel könnte auch ein Optionsobjekt mit benutzerdefinierten Protokollen und/oder einem AbortSignal
enthalten:
const controller = new AbortController();
const queueWSS = new WebSocketStream("wss://example.com/queue", {
protocols: ["amqp", "mqtt"],
signal: controller.signal,
});
Zu einem späteren Zeitpunkt kann AbortController.abort()
aufgerufen werden, wenn es erforderlich ist, die Verbindung zu schließen:
controller.abort();
Alternativ können Sie die Methode WebSocketStream.close()
verwenden, um eine Verbindung zu schließen. Dies ist jedoch hauptsächlich erforderlich, wenn Sie einen benutzerdefinierten Code und/oder Grund angeben möchten, den der Server melden soll.
Siehe Verwendung von WebSocketStream zur Erstellung eines Clients für ein vollständiges Beispiel mit vollständiger Erklärung.
Spezifikationen
Derzeit Teil keiner Spezifikation. Siehe https://github.com/whatwg/websockets/pull/48 für den Fortschritt der Standardisierung.
Browser-Kompatibilität
BCD tables only load in the browser
Siehe auch
- WebSocketStream: Integration von Streams mit der WebSocket-API, developer.chrome.com (2020)