WebSockets mit PHP

WebSockets ist eine jener Techniken, die die Web-Welt nachhaltig revolutionieren könnten, da so Client-Server-Anwendungen recht einfach und vor allem stets Live möglich sind. Für alle die jetzt meinen das ginge auch mit Ajax: bei Ajax ist es ja so, das der Client durch permanente Anfragen nachschauen muss, ob es etwas neues gibt. Bei WebSockets reicht es, wenn der Client die Verbindung öffnet, und dann kann der Server Nachrichten direkt zum Client pushen.

Screenshot der Ratchet Homepage

Dies alles stellt natürlich neue Anforderungen an den Server. Denn zum einen muss der Server die Verbindung aufrecht erhalten, zum anderen ist es natürlich so, das man nicht umlimitiert WebSockets aufbauen kann. Derzeitig State of the Art ist es wohl, WebSockets in Node.Js abzubilden. WebSockets mit PHP abbilden zu wollen ist so eine Sache, die der Architektur von Apache vollkommen entgegensteht. Hier ist es ja so, das ein Request ausgelöst, dann abgearbeitet und das Resultat ausgeliefert wird. Damit hat sich dann die Sache sowohl für PHP als auch für den Apache erledigt. Eventuelle Wiedererkennung des Benutzers erfolgt dann über Cookies.

Nun ist es aber so, das PHP von sich aus ohne einen Request des Clients zu diesem Daten senden muss, und hier kommt die Bibliothek Ratchet ins Spiel. Diese löst alle Probleme über Events und funktioniert nur ab PHP 5.3. Die Bibliothek kann in Frameworks eingebunden werden, wobei die Entwickler besonderen Wert auf Symfony legen. Als Tutorial liegt Ratchet eine Chat-Applikation bei, der Killer-Applikation für WebSockets.

Ob man PHP WebSockets beibringen will muss natürlich jeder für sich selbst entscheiden, aber mit Ratchet funktioniert dies ganz gut. Dennoch denke ich das Node.js einiges an Vorteilen bietet, die in der grundlegenden Architektur des Servers begründet sind. Solltet ihr aber mal eben schnell eine Kleinigkeit machen wollen leistet Ratchet gute Dienste.

Ähnliche Beiträge

Mercury – Der HTML5 WYSIWYG-Editor WYSIWYG-Editoren sind aus der heutigen Online-Welt nicht mehr wegzudenken. Groß und mächtig und vollkommen unhandbar sind sie geworden. Unflexibel, in...
30 Pixel Art Tutorials inkl. Isometrie Nachdem ich ja gestern bereits über die Animation von Charakteren geblogt habe, kommt man nun sehr schnell in den Zustand in dem man auch komplette We...
Tutorial phpUnderControl Zäumen wir einmal das Pferd von hinten auf, denn in unserem Falle heißt das Pferd nicht phpUnderControl, sondern CruiseControl. CruiseControl ist hier...
Die Wunderwelt von PHP und cURL PHP kann eine Menge, und eine Menge sogar doppelt bis dreifach. Das öffnen entfernter Dateien kann mittels "normalem" Dateihandling auch über die soge...

2 Antworten auf „WebSockets mit PHP“

  1. Pingback: Linkhub – Woche 41-2012
  2. WebSockets haben halt den großen Vorteil, dass der ganze HTTP-Overhead nicht vorhanden ist und Server als auch Client gleichzeitig Daten senden können.

    Wenn es aber wirklich nur darum geht, dass der Server Daten zum Client pushen soll, dann reichen ja Server-Sent Events eigentlich auch aus?!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.