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

时间:2012-04-04 23:14:48

标签: php apache2 socket.io

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

我要做的是使用带有apache的calendar.php,同时连接到端口8181上的Socket.IO服务器(或者用apache绑定到端口80,但这看起来很复杂,当我有人在日历中编辑了一个事件时,我尝试回代理但没有工作)接收更新。我的事件存储在SQL数据库中。

那么有没有办法在端口808上的apache服务的php页面中的端口8181上使用Socket.IO?

谢谢!

1 个答案:

答案 0 :(得分:1)

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

从那时起,您不需要再次与php交互,因为您可能正在向socket.io服务器发送消息以进行处理。

对于负载均衡socket.io,我认为你可以使用HAProxy,我认​​为LearnBoost也有替代Github。我实际上还没有使用我的应用程序这一步,所以我不能在这里给出太多信息。

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

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

我想或者,您可以将您的PHP服务器用作Web服务,并且您的socket.io服务器可以与它进行交互,但我想这样做会很慢。

希望能够解决问题。似乎您的设置已经在开发环境中工作。