WebSocket: WebSocket() Konstruktor
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
* Some parts of this feature may have varying levels of support.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Der WebSocket() Konstruktor gibt ein neues WebSocket Objekt zurück und versucht sofort, eine Verbindung zur angegebenen WebSocket-URL herzustellen.
Syntax
new WebSocket(url)
new WebSocket(url, protocols)
Parameter
url-
Die URL des Ziel-WebSocket-Servers, zu dem eine Verbindung hergestellt werden soll. Die URL muss eines der folgenden Schemas verwenden:
ws,wss,httpoderhttpsund darf kein URL-Fragment enthalten. Wenn eine relative URL angegeben wird, bezieht sie sich auf die Basis-URL des aufrufenden Skripts. protocolsOptional-
Ein einzelner String oder ein Array von Strings, das die Sub-Protokolle darstellt, die der Client in der Reihenfolge der Präferenz verwenden möchte. Wenn es weggelassen wird, wird standardmäßig ein leeres Array verwendet, d.h.
[].Ein einzelner Server kann mehrere WebSocket-Subprotokolle implementieren und unterschiedliche Arten von Interaktionen je nach dem angegebenen Wert behandeln. Beachten Sie jedoch, dass pro Verbindung nur ein Subprotokoll ausgewählt werden kann.
Die erlaubten Werte sind diejenigen, die im
Sec-WebSocket-ProtocolHTTP-Header angegeben werden können. Diese sind aus dem IANA WebSocket Subprotocol Name Registry ausgewählt, wie z.B.soap,wamp,shipund so weiter, oder ein benutzerdefinierter Name, der zwischen Client und Server gemeinsam verstanden wird.Hinweis: Die Verbindung wird erst hergestellt, wenn das Subprotokoll mit dem Server ausgehandelt ist. Das ausgewählte Protokoll kann dann von
WebSocket.protocolgelesen werden: Es wird der leere String sein, wenn keine Verbindung hergestellt werden kann.
Ausnahmen
SyntaxErrorDOMException-
Wird ausgelöst, wenn:
- das Parsen von
urlfehlschlägt urlein Schema hat, das nichtws,wss,httpoderhttpsisturlein Fragment enthält- einer der Werte in
protocolsmehr als einmal vorkommt oder anderweitig nicht die Anforderungen für Elemente erfüllt, die den Wert der Felder vonSec-WebSocket-Protocolgemäß der WebSocket-Protokoll-Spezifikation bestimmen
- das Parsen von
Beispiele
Die unten stehenden Beispiele zeigen, wie Sie eine Verbindung zu einem WebSocket herstellen könnten.
Der folgende Code zeigt, wie wir eine Verbindung zu einem Socket unter Verwendung einer URL mit dem wss Schema herstellen können:
const wssWebSocket = new WebSocket("wss://websocket.example.org");
console.log(wssWebSocket.url); // 'wss://websocket.example.org'
// Do something with socket
wssWebSocket.close();
Der Code für die Verbindung zu einer HTTPS-URL ist fast derselbe.
Im Hintergrund löst der Browser dies in eine "WSS"-Verbindung auf, sodass das WebSocket.url das Schema "wss:" haben wird.
const httpsWebSocket = new WebSocket("https://websocket.example.org");
console.log(httpsWebSocket.url); // 'wss://websocket.example.org'
// Do something with socket
httpsWebSocket.close();
Wir können auch relative URLs auflösen. Die absolute URL hängt von der Basis-URL des Kontexts ab, in dem sie aufgerufen wird.
relativeWebSocket = new WebSocket("/local/url");
// Do something with socket
relativeWebSocket.close();
Spezifikationen
| Specification |
|---|
| WebSockets> # ref-for-dom-websocket-websocket①> |
Browser-Kompatibilität
Loading…
Siehe auch
- RFC 6455 (die WebSocket-Protokoll-Spezifikation)