0

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

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

那么有没有办法在端口 80 上由 apache 提供的 php 页面中使用端口 8181 上的 Socket.IO?

谢谢!

4

1 回答 1

1

我不确定我是否理解您的问题。一旦页面由 PHP 在 80 端口提供服务,您将以最简单的设置连接到 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 服务器可以与之交互,但我想这样做会很慢。

希望这可以解决问题。似乎您的设置已经在开发环境中运行。

于 2012-04-05T00:22:08.773 回答