Was sind Long-Polling, WebSockets, SSE und Comet? Wie implementiert man sie in PHP?
Hallo zusammen! Ich bin ein PHP-Anfänger und bin kürzlich auf eine Aufgabe gestoßen: Ich muss einen Chat auf einer Website erstellen, bei dem Nachrichten ohne Seitenneuladung ankommen. Ich kenne AJAX, aber dort muss man ständig Requests senden, das ist ineffizient. Ich habe angefangen zu googeln und bin auf die Begriffe Long-Polling, WebSockets, Server-Sent Events (SSE) und Comet gestoßen. Ehrlich gesagt bin ich verwirrt.
So wie ich es bisher verstehe: Long-Polling – der Client sendet einen Request, und der Server hält ihn offen, bis eine neue Nachricht erscheint. Aber wie implementiert man das in PHP? PHP ist doch single-threaded, es kann nicht lange hängen bleiben, sonst geht der Speicher aus. WebSockets – das ist eine permanente Verbindung, aber ich habe gehört, dass PHP dafür nicht gut geeignet ist, man sollte Node.js oder Go verwenden. Und SSE – das ist so etwas wie ein Datenstrom vom Server zum Client, aber es scheint nur in eine Richtung zu funktionieren.