Comet技术总结

jackxiang 2009-8-12 14:43 | |
参考:http://www.zeitoun.net/articles/comet_and_php/start
一、基于AJAX轮询方式与传统AJAX方式的区别:

    1. 服务器端会阻塞请求直到有数据传递或超时才返回。
    2. 客户端 JavaScript 响应处理函数会在处理完服务器返回的信息后,再次发出请求,重新建立连接。
    3. 当客户端处理接收的数据、重新建立连接时,服务器端可能有新的数据到达;这些信息会被服务器端保存直到客户端重新建立连接,客户端会一次把当前服务器端所有的信息取回。

    采用这种方式实现的技术有meboo和pushlet chat。

二、基于iframe及htmlfile流的方式

    这个方式和AJAX方式原理相同,只是浏览器一直会显示正在连接状态,gtalk采用htmlfile技术解决了此问题。Zeitoun 网站提供的 comet-iframe.tar.gz,封装了一个基于 iframe 和 htmlfile 的 JavaScript comet 对象,支持 IE、Mozilla Firefox 浏览器,可以作为参考:http://www.zeitoun.net/articles/comet_and_php/start

三、Http长连接的编程原则

    1、不要在同一个客户端开启超过两个的http长连接,这个是受http协议限制的。
    2、控制信息和数据信息使用不同的http连接。
    3、在客户端和服务器端保持“心跳”信息。

四、Pushlet框架学习

    Pushlet框架是用后台采用java实现,前台技术有AJAX和Iframe两种。设计思想采用观察者模式。


作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/1925/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!

评论列表
2010-9-7 17:56 | 1
这个总结。。。。你自己写的还是copy的?总体来说就是把
http://www.ibm.com/developerworks/cn/web/wa-lo-comet/
这个的缩水了。而且关于iframe方式的描述基本错误。其与ajax的long polling 方式完全不同。建议好好看看原文章,再写写实例。
分页: 1/1 第一页 1 最后页
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]