在数据库数据更改时向所有活动会话发送响应


Send Response to all active session when database data changes

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

某些用户正在查看"数据"表。

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

但是我不想再这样做了。

ajax 轮询的替代方法(就像你所做的那样)是使用 comet/服务器端推送。

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

在本例中,我将使用 WebSockets。不过,我在下面描述的内容也适用于其他方法。

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

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

您可以使用

轮询或websockets,也许 Pusher.com 是适合您的解决方案。