2010-05-11 17 views
6

Ich habe eine bestehende App in PHP geschrieben (mit Kohana Rahmen) und ich möchte lange polling tun. Von einigen Dingen, die ich gelesen habe, scheint es, dass es nicht ratsam ist, lange mit PHP zu pollen, und etwas wie nodejs zu verwenden ist eine bessere Wahl. Meine Frage ist, was ist der beste Weg, um Nodejs (oder ein anderes gut geeignetes Tool für lange Abfragen) mit einer bestehenden Anwendung zu integrieren?Empfehlung für die Integration von nodejs mit PHP-Anwendung

Zur Verdeutlichung meiner App ist im Grunde ein Browser-Plugin, das Sie verwenden können, um Daten an Gruppen anderer Personen zu senden. Wenn diese Daten gesendet werden, möchte ich, dass die Empfänger, wenn sie online sind und über das Browser-Plug-in verfügen, diese Daten sofort erhalten und benachrichtigt werden.

Antwort

15

Möglicherweise ist der beste Weg, node.js auf einen Port warten zu lassen und PHP Nachrichten an diesen Port senden zu lassen.

In Node.js können Sie einfach einen Socket zum Abhören öffnen und in PHP können Sie cURL verwenden, um Nachrichten zu senden. Die Nachrichten können im JSON-Format sein.

Wenn der Node.js-Teil eine Nachricht empfängt, kann er diese, möglicherweise nach einer gewissen Verarbeitung, direkt an den Browser mit langer Aufrufzeit weiterleiten.

+2

Interessant. Bei einer Chat-App senden die Clients Nachrichten an ein PHP-Skript, während sie lange nach einer Antwort vom Node.js-Server suchen. Und wenn das PHP genug Nachrichten erhalten hat, übergibt es sie an den "Dispatcher" von Node.js, um es an alle zu veröffentlichen. Richtig? –

-1

Ich erstelle einen kleinen Hack, der es Ihnen erlauben würde, dies mit Leichtigkeit zu tun. Es ist in einem sehr frühen Stadium, aber es hat genug Code, damit es funktioniert: https://github.com/josebalius/NodePHP

Ich plane die Aktualisierung der Readme später heute.

+2

Der Link ist 404 :( – sdouglass

Verwandte Themen