videocalling
Illustration of WebSocket in video calling

WebSocket

glossary.categories.protocol

Ein Kommunikationsprotokoll, das eine persistente, bidirektionale Verbindung zwischen Client und Server über eine einzelne TCP-Verbindung ermöglicht.

Was ist WebSocket?

WebSocket ist ein Kommunikationsprotokoll, das eine persistente, bidirektionale Verbindung zwischen einem Webbrowser und einem Server über eine einzelne TCP-Verbindung bereitstellt. Im Gegensatz zu HTTP, das auf einem Anfrage-Antwort-Modell basiert, ermöglicht WebSocket sowohl dem Client als auch dem Server, jederzeit Nachrichten zu senden, ohne auf eine Anfrage warten zu müssen.

WebSocket und WebRTC

WebSocket und WebRTC sind komplementäre Technologien. WebSocket wird häufig als Signalisierungskanal für WebRTC verwendet – er überträgt die SDP-Offers/-Answers und ICE-Kandidaten, die zum Aufbau einer WebRTC-Verbindung benötigt werden. Während WebRTC dann die eigentlichen Mediendaten (Audio/Video) transportiert, wickelt WebSocket die Steuerungsnachrichten ab.

Hauptmerkmale

  • Geringe Latenz: Kein HTTP-Overhead für jede Nachricht. Nachrichten werden sofort zugestellt.
  • Bidirektional: Sowohl Client als auch Server können jederzeit Nachrichten senden.
  • Persistent: Die Verbindung bleibt offen, bis sie explizit geschlossen wird.
  • Leichtgewichtig: Minimaler Frame-Overhead (2–14 Bytes) im Vergleich zu HTTP-Headern.

Typische Anwendungsfälle in Videoanrufen

  • WebRTC-Signalisierung (SDP- und ICE-Kandidaten-Austausch)
  • Chat-Nachrichten während Videoanrufen
  • Teilnehmerstatus-Updates (Beitreten, Verlassen, Stummschalten)
  • Echtzeit-Benachrichtigungen und Steuerungsnachrichten