Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03526.jsonl.gz/1293

Echtzeit mit WebSockets
Dank dem WebSocket-Protokoll muss Echtzeit im Web nicht mehr durch Polling simuliert werden, weil Websockets eine bidirektionale Kommunikation zwischen Webbrowser und Server erlauben.
Die Ansteuerung eines WebSockets im Browser ist ähnlich wie die eines
XMLHttpRequests bei AJAX: Ein WebSocket-Objekt wird instanziiert, und sobald die Verbindung geöffnet ist, können mit
send() Daten übertragen werden. Danach kann mittels eines
EventListeners auf empfangene Daten reagiert werden.
Um die Realisierung einer solchen Webanwendung zu erproben, hab ich das wohl bekannteste Spiel "Schere, Stein, Papier" umgesetzt. Dabei spielt man entweder gegen andere Spieler über den Webbrowser oder gegen ein Python Script (so kann man auch alleine spielen ;). Damit der in PHP geschriebenen WebSocket Server auch hinter einer Firewall erreicht werden kann, nutze ich den Apache als Reverse Proxy.
Fazit
Durch die Realisierung haben sich Vor- und Nachteile von WebSockets heraus kristallisiert, welche bei zukünftigen Projekten sicherlich berücksichtigt werden. WebSockets sind eine schlanke und mächtige Technologie welche unnötige zeitliche Verzögerungen mindert. Die Standardisierte JavaScript-API, die keine clientseitige Installation benötigt, ermöglicht ohne grossen technischen Mehraufwand ein vielseitiger Einsatz.