加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ajax – Facebook聊天如何避免连续轮询服务器?

发布时间:2020-12-16 03:09:57 所属栏目:百科 来源:网络整理
导读:我正在努力了解Facebook的聊天功能如何接收消息,而不用连续地分配服务器。 Firebug向我展示了一个持续坐在那里的GET XmlHttpRequest,等待服务器的响应。 5分钟后,这个从来没有超时。 他们如何防止超时? AJAX请求可以无限期地坐在那里,等待响应? 我可以
我正在努力了解Facebook的聊天功能如何接收消息,而不用连续地分配服务器。

Firebug向我展示了一个持续坐在那里的GET XmlHttpRequest,等待服务器的响应。 5分钟后,这个从来没有超时。

他们如何防止超时?

AJAX请求可以无限期地坐在那里,等待响应?

我可以用JSONRequest来做到吗?我在json.org看到这个:

JSONRequest is designed to support
duplex connections. This permits
applications in which the server can
asynchronously initiate transmissions.
This is done by using two simultaneous
requests: one to send and the other to
receive. By using the timeout
parameter,a POST request can be left
pending until the server determines
that it has timely data to send.

还是有另一种方法让AJAX调用就坐在那里,等待,除了使用JSONRequest?

Facebook使用现在称为 Comet的技术将消息从服??务器推送到客户端,而不是让客户端轮询服务器。

有很多方法可以实现,XMLHttpRequest long polling只是一个选择。这种方法的原理是,客户端发送一个普通的XMLHttpRequest,但服务器在发生某些事件(例如另一个用户发送消息)之前不会响应,所以客户端被迫等待。当客户端收到响应(或者请求超时)时,客户端只需创建一个新请求,使其始终有一个打开的请求到服务器。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读