1

有一些交互式站点(例如这个:))可以在不刷新任何内容的情况下注意到事件。例如,当我得到答案时,那里会出现一个红色圆圈。我知道它可以通过发送ajax请求来完成,比如每 5 秒发送一个请求 - 但它会杀死服务器。那么服务器应该如何向客户端发送一些改变的信息呢?

4

2 回答 2

2

socket.io 这样的解决方案实现了不同的方式来保持客户端连接,包括:

  • HTML5 Websockets(新的,相当不错,但旧浏览器不支持)
  • Flash 插件(需要 Flash 插件,不支持移动设备)
  • 长轮询(传统 Web 服务的杀手)
于 2012-06-01T07:40:27.310 回答
1

您可以打开一个保持活动状态的 XHR,直到服务器发生状态更改以发送响应。

这称为长轮询

于 2012-06-01T07:39:23.830 回答