2012-02-11 80 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