0

我正在使用事件流和 HTML5 SSE 客户端提供客户端实时事件。

但我的一些事件实际上将来自其他客户提交的表单。

尽快(在它们发生之后)检测这些表单提交(以便将它们附加到事件流脚本)的最佳方法是什么?

所以本质上,我需要不同客户端实例化的不同脚本的多个实例之间的实时跨脚本消息传递,类似于 JS 中的 X-doc 消息传递,但对于 PHP。

我能想到的最好的办法是反复轮询/tmp通知文件的子目录,这是一个糟糕的解决方案。

4

2 回答 2

0

如果您希望事件接近实时触发,那么您需要同步处理它们——这意味着运行一个守护进程。实现可以跨客户端连接同步数据的守护进程的最简单方法是使用基于事件的服务器。后者在这里使用 php有一个很好的实现- 有很多关于如何在互联网上守护 PHP 进程的示例。然后只需从您的 PHP 代码打开与服务器的阻塞连接/通过彗星访问它。

于 2012-06-21T09:25:25.337 回答
0

通常你可以使用 MYSQL 来扮演你所说的 tmp 目录的角色。这更具可移植性,因为它们不必在同一台服务器上执行此操作,并且数据是分开的。然而,脚本将不得不手动检查 mysql 位置,以查看其他脚本是否已处理此问题。另一种选择是打开套接字并实时来回写入,或者为此目的使用一些预构建的工具,我很确定可能存在。

于 2012-06-21T05:41:15.653 回答