Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die WebSocket-API ermöglicht es, eine bidirektionale interaktive Kommunikationssitzung zwischen dem Browser des Nutzers und einem Server zu öffnen. Mit dieser API können Sie Nachrichten an einen Server senden und Antworten empfangen, ohne den Server ständig abfragen zu müssen.
Die WebSocket-API bietet zwei alternative Mechanismen zum Erstellen und Verwenden von WebSocket-Verbindungen: die WebSocket
-Schnittstelle und die WebSocketStream
-Schnittstelle.
WebSocket
-Schnittstelle ist stabil und hat eine gute Unterstützung durch Browser und Server. Sie unterstützt jedoch kein Backpressure. Dadurch kann es vorkommen, dass bei schnellerem Nachrichtenempfang, als die Anwendung verarbeiten kann, der Speicher des Geräts stark gefüllt wird, die Anwendung aufgrund von 100% CPU-Auslastung nicht mehr reagiert oder beides geschieht.WebSocketStream
-Schnittstelle ist eine Promise
-basierte Alternative zu WebSocket
. Sie verwendet die Streams API, um den Versand und Empfang von Nachrichten zu verwalten, wodurch WebSocket-Verbindungen automatisch von der Stream-Backpressure profitieren können. Dies reguliert die Lese- oder Schreibgeschwindigkeit, um Engpässe in der Anwendung zu vermeiden. Allerdings ist WebSocketStream
nicht standardisiert und wird derzeit lediglich von einer Rendering-Engine unterstützt.Zusätzlich ist zu erwarten, dass die WebTransport-API die WebSocket-API für viele Anwendungen ersetzen wird. WebTransport ist eine vielseitige, niedrigstufige API, die Backpressure und viele andere Funktionen bietet, die weder von WebSocket
noch von WebSocketStream
unterstützt werden â wie unidirektionale Streams, nicht in der richtigen Reihenfolge gelieferte Ãbertragungen und unzuverlässige Datenübertragung via Datagramme. WebTransport ist komplexer zu verwenden als WebSockets und hat keine so breite plattformübergreifende Unterstützung, ermöglicht jedoch die Implementierung anspruchsvoller Lösungen. Wenn standardisierte WebSocket-Verbindungen gut zu Ihrem Anwendungsfall passen und Sie breite Browser-Kompatibilität benötigen, sollten Sie die WebSocket-API nutzen, um schnell eine Lösung zu implementieren. Wenn Ihre Anwendung jedoch eine nicht standardisierte, individuelle Lösung erfordert, sollten Sie die WebTransport-API verwenden.
Hinweis: Eine WebSocket-Verbindung ist funktional ähnlich zu standardmäÃigen Unix-Sockets, sie sind jedoch nicht miteinander verwandt.
SchnittstellenWebSocket
Die primäre Schnittstelle zur Verbindung mit einem WebSocket-Server sowie zum Versenden und Empfangen von Daten über die Verbindung.
WebSocketStream
Nicht standardisiert
Promise-basierte Schnittstelle zur Verbindung mit einem WebSocket-Server; nutzt Streams zum Senden und Empfangen von Daten über die Verbindung.
CloseEvent
Das Ereignis, das vom WebSocket-Objekt gesendet wird, wenn die Verbindung geschlossen wird.
MessageEvent
Das Ereignis, das vom WebSocket-Objekt gesendet wird, wenn eine Nachricht vom Server empfangen wird.
Die HTTP-Header werden im WebSocket-Handshake verwendet:
Sec-WebSocket-Key
Ein HTTP-Anforderungs-Header, der einen Nonce des Clients enthält. Dieser wird im WebSocket-Eröffnungshandshake verwendet, um zu überprüfen, dass der Client die Eröffnung einer WebSocket ausdrücklich beabsichtigt. Der Header wird automatisch vom Browser hinzugefügt.
Sec-WebSocket-Accept
Ein HTTP-Antwort-Header, der im WebSocket-Eröffnungshandshake verwendet wird, um anzuzeigen, dass der Server bereit ist, auf eine WebSocket-Verbindung hochzustufen. Der Wert in der Direktive wird aus dem Wert von Sec-WebSocket-Key
in der entsprechenden Anfrage berechnet.
Sec-WebSocket-Version
Ein HTTP-Header, der in Anfragen die vom Client unterstützte Version des WebSocket-Protokolls angibt. In Antworten wird er nur gesendet, wenn die angeforderte Protokollversion vom Server nicht unterstützt wird, und listet die vom Server unterstützten Versionen auf.
Sec-WebSocket-Protocol
Ein HTTP-Header, der in Anfragen die vom Client unterstützten Subprotokolle in bevorzugter Reihenfolge angibt. In Antworten gibt er das vom Server aus den Präferenzen des Clients ausgewählte Subprotokoll an.
Sec-WebSocket-Extensions
Ein HTTP-Header, der in Anfragen die vom Client unterstützten WebSocket-Erweiterungen in bevorzugter Reihenfolge angibt. In Antworten gibt er die vom Server aus den Präferenzen des Clients ausgewählte Erweiterung an.
wss://
oder ws://
sowie normale Sockets über ssl://
, tcp://
.RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4