web.qq.com实现方法的讨论,如何实现的即时信息收发?
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
[p]首先webqq没是使用flash作为长连接代理。[br]其使用了yahoo的ajax工具包。[br][br]使用中,20秒进行一次http://web-proxy.qq.com/conn_s post请求,内容为:[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秒一次,并且内容为空,的post,这个应该是判断用户离线使用的。而并非取得任何新数据。[br][br]比较奇怪的,任何一个用户发信息给正在使用webqq的用户,立刻webqq用户会自己,主动的发起一次对 http://web-proxy.qq.com/conn_s post请求[br]来获得新的聊天内容数据,内容如下:[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]聊天内容是test123,可以看到并未进行加密之类,不过这不再本文讨论范围,[br]我想知道的是,web qq是如何即时的获得有信息到来的这个“通知”让客户端主动的去发起请求去服务器获取数据?[br][br]我过了一遍代码,绝不是简单的轮询之类,因为没有任何延迟,如果是轮询总会有延迟。而且看链接状态也没有显式的长连接。[br][br]他页面上有4个iframe[br][br][br][br][br][br][br]应该是以某个iframe以某种方法与服务器保持连接,这是如何实现的?[br]如何“通知”让客户端主动的去发起请求去服务器获取数据?[/p]
[p] [/p] [p]回复帖子:[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 编辑过 |
关键字查询
相关文章
正在查询... |