Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 数据库数据更改时向所有活动会话发送响应_Php_Javascript_Ajax - Fatal编程技术网

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

Php 数据库数据更改时向所有活动会话发送响应,php,javascript,ajax,Php,Javascript,Ajax,当数据库数据更改时,我想向当前处于活动状态(记录或查看内容)的所有用户发送响应 示例 某些用户正在查看“数据”表 目前,我每5秒执行一次AJAX调用,如果数据数据库响应发生变化,将通知客户端 但是我不想再这样做了。ajax轮询的替代方法(正如您所做的)是使用comet/服务器端推送 换句话说,您可以使用WebSockets、Ajax长轮询、服务器发送事件等来向客户端发送消息,而不是客户端轮询 在本例中,我将使用WebSocket。不过,我下面描述的内容也适用于其他方法 如果您已经有一个现有的PH

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

示例

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

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


但是我不想再这样做了。

ajax轮询的替代方法(正如您所做的)是使用comet/服务器端推送

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

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

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


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

您可以使用轮询或WebSocket,这可能是一个适合您的解决方案。

但现在我不想这样做。
什么?还有其他方法吗?您可以阅读关于长轮询或WebSocket的内容,以避免每5(xy)次“重新加载”秒。不,没有其他方法,你需要每X秒发出一次请求,你的数据库本身无法完成。是的,我知道数据库不能自动完成,但我想使用php或ajax来完成