0

可能重复:
实现服务器推送

当服务器端发生某些事件时,我想从 php 到 javascript 向客户端发送一条消息,例如修改用户表或类似的事情。当事件发生时,服务器将其发送给客户端。我该如何实现呢?

如果可能不使用 html5

4

3 回答 3

2

你应该有更深入的研究

  • 服务器推送
  • 阿贾克斯长轮询/彗星

主要的“问题”是您的服务器需要“了解”用户浏览器,afaik 的方法是保持服务器和客户端之间的长时间连接打开。检查这个:http: //jabberwocky.eu/2011/02/02/html5-pubsub-and-browser-push/

于 2012-06-20T13:20:18.333 回答
2

我知道你提到你想避开 HTML5,但我建议最好的解决方案可能是在可用时利用 HTML5 技术,否则回退到长轮询或频繁轮询解决方案。查看HTML5 WebSockets API,它至少部分是为了这个目的而创建的。如果您对 Node.js 作为后端感到满意,那么 Socket.IO是一个很棒的框架。

于 2012-06-20T13:39:45.763 回答
1

我能想到的唯一方法是尽可能长时间地打开对服务器的 AJAX 请求,然后在服务器上发生某些事情时写入连接。

如果 AJAX 请求超时,您将不得不重新启动它。

在浏览器场景中,服务器确实没有办法连接到客户端。

于 2012-06-20T13:07:55.467 回答