web.qq.com實(shí)現(xiàn)方法的討論,如何實(shí)現(xiàn)的即時(shí)信息收發(fā)?
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
[p]首先webqq沒是使用flash作為長連接代理。[br]其使用了yahoo的ajax工具包。[br][br]使用中,20秒進(jìn)行一次http://web-proxy.qq.com/conn_s post請求,內(nèi)容為:[br][br]http/1.1 200 ok[br]content-type: text/html; charset=utf-8[br]cache-control: private[br]server: qq/j.vn[br]content-length: 0[br][br]20秒一次,并且內(nèi)容為空,的post,這個(gè)應(yīng)該是判斷用戶離線使用的。而并非取得任何新數(shù)據(jù)。[br][br]比較奇怪的,任何一個(gè)用戶發(fā)信息給正在使用webqq的用戶,立刻webqq用戶會(huì)自己,主動(dòng)的發(fā)起一次對 http://web-proxy.qq.com/conn_s post請求[br]來獲得新的聊天內(nèi)容數(shù)據(jù),內(nèi)容如下:[br][br]http/1.1 200 ok[br]content-type: text/html; charset=utf-8[br]cache-control: private[br]server: tencent_http_server[br]content-length: 68[br][br]1034456174;17;3088;313033262;275062;09;0b;test123;1241812821;575540857;[br][br][br]聊天內(nèi)容是test123,可以看到并未進(jìn)行加密之類,不過這不再本文討論范圍,[br]我想知道的是,web qq是如何即時(shí)的獲得有信息到來的這個(gè)“通知”讓客戶端主動(dòng)的去發(fā)起請求去服務(wù)器獲取數(shù)據(jù)?[br][br]我過了一遍代碼,絕不是簡單的輪詢之類,因?yàn)闆]有任何延遲,如果是輪詢總會(huì)有延遲。而且看鏈接狀態(tài)也沒有顯式的長連接。[br][br]他頁面上有4個(gè)iframe[br][br][br][br][br][br][br]應(yīng)該是以某個(gè)iframe以某種方法與服務(wù)器保持連接,這是如何實(shí)現(xiàn)的?[br]如何“通知”讓客戶端主動(dòng)的去發(fā)起請求去服務(wù)器獲取數(shù)據(jù)?[/p]
[p] [/p] [p]回復(fù)帖子:[url=http://topic.csdn.net/u/20090504/15/1b34df3f-3d28-4832-9e5d-6d351e322321.html]http://topic.csdn.net/u/20090504/15/1b34df3f-3d28-4832-9e5d-6d351e322321.html[/url][/p] 該文章在 2010/4/30 23:57:01 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |