Socket.IO与Apache2集成,用于实时更新日历


Socket.IO integration with Apache2 for live update calendar

我正试图使用Socket.IO Websocket构建一个实时更新的日历。我设法让Socket.IO服务器在8181端口上运行,但我的calendar.php是通过80端口上的apache管理的。

我想做的是将我的calendar.php与apache一起使用,同时连接到端口8181上的Socket.IO服务器(或者用apache将其绑定到端口80,但这似乎很复杂,我尝试了代理,但没有成功),以便在有人编辑日历中的事件时接收更新。我的事件存储在SQL数据库中。

那么,有没有一种方法可以在端口8181上使用Socket.IO,在端口80上使用apache提供的php页面?

谢谢!

我不确定我是否理解您的问题。一旦页面在端口80上由PHP提供服务,您就可以通过最简单的设置连接到8181上的socket.io服务器。

从那时起,您就不需要再与php交互了,因为您可能会将消息发送到socket.io服务器进行处理。

对于负载平衡socket.io,我认为你可以使用HAProxy,我认为LearnBoost在Github上也有一个替代方案。事实上,我的应用程序还没有走到这一步,所以我不能在这里提供太多信息。

但是,是的,你的socket.io服务器应该接收、处理和发送消息。如果有多个socket.io实例正在运行,也可以将redis用于Pub/Sub。

有一个用于异步MySQL驱动程序的节点模块,它将允许您直接与数据库交互。我在我的应用程序中使用MongoDb,所以我从未使用过MySQL模块。

我想,或者,你可以把你的PHP服务器用作web服务,你的socket.io服务器可以与它交互,但我想这样做会很慢。

希望这能澄清问题。看来您的设置已经可以在开发环境中工作了。