Is native PHP-ondersteuning voor Web Sockets beschikbaar?

Op zoek naar Hello World Type Voorbeeld van implementatie van Web Sockets:

Hier is de Socket Create-referentie van php.net, maar dit ziet er meer laag uit dan Web Sockets.

Ik wil deze Web Sockets gebruiken zoals hier getoond op caniuse.comdie nu is geïmplementeerd in alle nieuwe belangrijke browsers.

Een Google-zoekopdracht leverde deze Nets.TutsPlus-siteop waarin ik de JavaScript-voorbeeldcode kan gebruiken … maar ik moet weten hoe ik de server-side in PHP moet implementeren, niet in Java, Ruby of Node.js zoals in het voorbeeld.

Is PHP Socket Create relevant? Ondersteunt PHP native Web Sockets? Ik denk dat alleen een punt in de goede richting voor PHP-implementatie zou helpen.

Eigenlijk bevat de tutorial een verbroken link naar phpwebsockets…is dit de bibliotheek die men zou moeten gebruiken?

Websockets.orgheeft een testapplicatie, maar PHP wordt niet genoemd.


Antwoord 1, autoriteit 100%

Er is geen native ondersteuning in de zin dat er een standaard PHP WebSocket-object native beschikbaar is.

Je hebt een bibliotheek nodig.

Het volgende dat u moet overwegen, is hoe de WebSocket-server werkt. Normaal gesproken draait PHP in Apache, Nginx (via FastCGI) of op Microsoft IIS (via Fast CGI). Met Apache en IIS kan dit een probleem zijn, omdat het niet echt is gebouwd met permanente verbindingen zoals WebSockets in gedachten. Ik ben niet zeker van Nginx. Dit is de reden waarom de meeste PHP WebSocket-bibliotheken worden gebouwd als zelfstandige bibliotheken die als hun eigen processen kunnen worden uitgevoerd.

Zie:

Opmerking: IE10 is nu uitgebracht in Windows 8

Zie ook: Ajax push-systeem


Antwoord 2, autoriteit 18%

Ja, het is mogelijk om heel eenvoudig PHP + Websocket te gebruiken, zondereen bibliotheek van derden (zoals Ratchet, dat vaak wordt genoemd).

Dit artikelis een geweldig lichtgewicht voorbeeld. (Ik verloor uren met complexe oplossingen, allemaal inclusief een paar bibliotheken, totdat ik dit handige, eenvoudige artikel vond)

Je kunt hier meer gedetailleerde instructies vinden: Hoe om websockets-server in PHP te maken.

Het gebruikt een constant draaiende PHP-server, die u vanaf de opdrachtregel start met php websockets.php, met een event-loop (vergelijkbaar met de Node.JS-manier). Het is 100% mogelijk om native PHP-functies te gebruiken zoals socket_create, enz.

Other episodes