如何通过Ajax向其他用户发送PHP请求?
例如,如果用户A
按下该按钮,则用户B
而其他人会立即弹出,告诉他们相关信息。在我的应用程序中,我正在使用$_SESSION
来声明一个已登录的用户,并且我正在使用自己从头开始构建的书面登录系统。
我只是希望PHP使用某些数据向特定用户发送请求。
答案 0 :(得分:1)
正如Barmar所说, WebSockets是处理持续轮询方案的事实上的标准。
但是,如果您的应用程序不需要实时更新,并且您永远不会超过一定数量的用户,则可以使用JavaScript计时器从AJAX事务加载生成的XML并通过DOM。要意识到连续扩展轮询应用程序是多么困难。
如果你选择继续轮询AJAX,那么预期的设计就是这样:
- 用户
A
将数据发布到服务器上的PHP程序。- PHP程序将用户的操作保存到数据库中的“缓存”表中。
- 用户
B
的客户端最终向服务器发出AJAX请求。- 将返回“缓存”表格中包含该用户的用户ID(
$_SESSION['user_id']
或其他相关内容)的所有项目 用户B
的客户。- 用户
醇>B
的客户端提醒他们已收到消息。
请记住,即使您每30秒只进行一次轮询,但是如果有足够多的用户,您可能会在轮询邮件时DDoS自己的服务器。
WebSocket RFC - https://tools.ietf.org/html/rfc6455
WebSocket基础知识 - http://www.html5rocks.com/en/tutorials/websockets/basics/