ajax – Facebook聊天如何避免连续轮询服务器?
我正在努力了解Facebook的聊天功能如何接收消息,而不用连续地分配服务器。
Firebug向我展示了一个持续坐在那里的GET XmlHttpRequest,等待服务器的响应。 5分钟后,这个从来没有超时。 他们如何防止超时? AJAX请求可以无限期地坐在那里,等待响应? 我可以用JSONRequest来做到吗?我在json.org看到这个:
还是有另一种方法让AJAX调用就坐在那里,等待,除了使用JSONRequest?
Facebook使用现在称为
Comet的技术将消息从服??务器推送到客户端,而不是让客户端轮询服务器。
有很多方法可以实现,XMLHttpRequest long polling只是一个选择。这种方法的原理是,客户端发送一个普通的XMLHttpRequest,但服务器在发生某些事件(例如另一个用户发送消息)之前不会响应,所以客户端被迫等待。当客户端收到响应(或者请求超时)时,客户端只需创建一个新请求,使其始终有一个打开的请求到服务器。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |