Ist es möglich, Sockets.io auf der Client-Seite zu verwenden und mit einer PHP-basierten Anwendung auf dem Server zu kommunizieren? Unterstützt PHP überhaupt eine solche 'langlebige Verbindung' Art, Code zu schreiben?
Der gesamte Beispielcode, den ich für Sockets.io finde, scheint für node.js auf der Serverseite zu sein, also keine Hilfe dort.
Es ist vielleicht ein bisschen spät für die Beantwortung dieser Frage, aber hier ist, was ich gefunden habe.
Ich will nicht über die Tatsache, dass Nodes tut, dass besser als php oder nicht, das ist nicht der Punkt zu diskutieren.
Die Lösung ist: Ich habe keine Implementierung von socket.io für PHP gefunden.
Aber es gibt einige Möglichkeiten, WebSockets zu implementieren. Es gibt dieses jQuery-Plugin, das die Verwendung von Websockets ermöglicht, während es bei nicht unterstützenden Browsern zu einem Graceful Degrading kommt. Auf der PHP-Seite gibt es diese Klasse, die anscheinend am häufigsten für PHP WS-Server verwendet wird.
Ähm, warum sollten Sie das wollen? Lassen Sie PHP auf dem Backend und NodeJS/Sockets, um seine nicht-blockierende Sache zu tun.
Hier ist etwas für den Anfang: http://groups.google.com/group/socket_io/browse_thread/thread/74a76896d2b72ccc
Ich persönlich habe Express mit einem Endpunkt laufen, der ausdrücklich auf Interaktionen von PHP wartet.
Wenn ich zum Beispiel einem Benutzer eine E-Mail geschickt habe, möchte ich, dass socket.io dem Benutzer eine Benachrichtigung in Echtzeit anzeigt.
Wenn Sie eine Interaktion zwischen socket.io und PHP wünschen, können Sie einfach so vorgehen:
var http = require('http'),
host = WWW_HOST,
clen = 'userid=' + userid,
site = http.createClient(80, host),
request = site.request("POST", "/modules/nodeim/includes/signonuser.inc.php",
{'host':host,'Content-Length':clen.length,'Content-Type':'application/x-www-form-urlencoded'});
request.write('userid=' + userid);
request.end();
Im Ernst, PHP ist großartig, um serverseitige Dinge zu tun, und lassen Sie es mit den Verbindungen sein, es hat jetzt keinen Platz in diesem Bereich. Warum irgendetwas mit langem Pollen machen, wenn man Websockets oder Flashsockets hat.
Wenn Sie wirklich PHP als Backend für WebSockets verwenden wollen, können Sie sich mit diesen Links auf den Weg machen: