2012-02-11 57 views
1

在像collabedit这样的工具中,当我检查fiddler中的流量时,我看不到从客户端到服务器的轮询。但是,当某些客户端向服务器写入新数据时,另一个“神奇地”知道该数据并要求服务器进行更新。如果没有持续的投票,这是如何实现的?javascript:听服务器

回答

2

这是通过long polling实现的。

代码发送请求到http://collabedit.com/ot/wait
服务器在新数据可用之前不会响应。当有新数据可用时,服务器发送一个由代码处理的响应。
然后,重复该循环。

所以,当页面打开时,有总是与网站的连接。

+1

在http://collabedit.com/static/js/combined_doc.js中搜索相关代码中的$ .ajax({type:“POST”,url:“/ ot/wait”')。 – 2012-02-11 17:50:40