0

当数据库数据更改时,我想向所有当前处于活动状态的用户(记录或查看内容)发送响应。

例子

一些用户正在查看“数据”表。

目前我每 5 秒执行一次 AJAX 调用,如果数据数据库响应发生变化,将通知客户端。

但是我不再想这样做了。

4

2 回答 2

1

ajax 轮询的替代方案(如您所做的那样)是使用彗星/服务器端推送。

换句话说,您将使用 WebSockets、Ajax 长轮询、服务器发送事件等来向客户端发送消息,而不是客户端轮询。

为了这个例子,我将使用 WebSockets。不过,我在下面描述的内容也适用于其他方法。

如果您已经有一个现有的 PHP 应用程序,那么最简单的方法可能是编写一个单独的“守护程序”脚本来处理套接字。每当您的应用程序更改数据库中的某些数据时,您将向守护程序脚本发送一条消息,然后它将通知连接的客户端更改。

您可以使用 ZeroMQ 之类的东西在主应用程序和套接字守护程序之间进行消息传递。

于 2012-05-10T13:10:15.920 回答
0

您可以使用轮询或 websockets,也许Pusher.com是您的解决方案。

于 2012-05-10T13:11:15.653 回答