通过PHP和cURL访问NodeJS / Socket.io

我正在运行一个nodejs / socket.io(v 0.7)服务器来将数据推送到Web客户端。 这很有效。

为了扩展应用程序,我需要通过php触发/影响socket.io。 我知道一个解决scheme,通过http与nodejs http服务器一起使用cURL。

一个可能的解决scheme是在同一个app.js中运行socket.io服务器和nodejs http服务器。 客户端与socket.io进行连接和通信,并且唯一允许的连接到“独立的”http服务器(当然,在socket.io以外的另一个端口上监听)分别从php服务器上的cURL的127.0.0.1开始。

由于两台服务器在同一个作用域内,所以http服务器可以在socket.io服务器上触发事件。

我的问题:是否有意义? 是否有一个更清洁的解决scheme来触发从PHP的socket.io事件?

我认为这是一个合理而直接的方法。 似乎要小心处理执行的顺序,但这可能只是我对节点显示的不确定性。

我正在写一个解决scheme,我认为它看起来很像推送器 API。 它利用房间(频道)的概念。 从一个路由expression我可以curl(通过PHP)发送消息到房间(频道)。

io.sockets.in('your room').json.send('your json'); 

我希望将来可以开源这个项目(希望在一周内),但希望你能得到这个图片。

版本大于1.3.3的socket.io(可能比较老),可以像下面那样触发一个emit事件

 //send broadcast message to all connecting clients io.emit([message event],[your message body obj or str]); // send to specific user io.to([your room]).emit([message event], [your message body obj or str]);