Server-Push und bidirektionale Kommunikation mit WebSockets
Websocket-Artikel im PHP Magazin veröffentlicht.
In den vergangenen Jahren haben sich für die bidirektionale Kommunikation zwischen Server und Client (teils recht abenteuerliche) Verfahren unter dem Überbegriff Comet etabliert, die den Eindruck einer servergesteuerten Kommunikation erwecken: Forever Frame, Continuous Polling, HTTP-Streaming, XHR-Streaming, Long Polling, Implementierung in Flash, XHR-Multipart, <script>-Long-Polling etc. Jede dieser Technologien hat Vor- und Nachteile. Moderne Browser bieten mit WebSockets endlich eine standardisierte Methode an.
Mit WebSockets können Browser und Server Nachrichten austauschen, ohne sich an den Anfrage-Antwort-Zyklus halten zu müssen; zudem handelt es sich um eine persistente Verbindung, ein ständiger Verbindungsauf- und -abbau entfällt. Damit kann der Server jederzeit Nachrichten an den Browser senden. Diese lösen im Browser Events aus, worauf mit JavaScript reagiert werden kann. Umgekehrt kann der Browser beliebig Nachrichten über die bestehende WebSocket-Verbindung an den Server senden. WebSockets sind damit echten TCP/IP-Verbindungen sehr ähnlich.
Mehr zu lesen in der Ausgabe April/Mai 2013 (3.13) des PHP Magazins.
Update: Der Artikel ist jetzt auch online verfügbar.