HTTP 长连接技术 Comet

ideawu 发布于 2014/07/29 09:37
阅读 4K+
收藏 21

人们常常提到”Comet”, 或者”Web 服务器推”, “HTTP 长连接”, 事实上, 他们指的是同一件东西, 可以统称为 Comet 技术. 但是, Comet 技术又不是单独的一种东西, 而解决某一个问题的许多技术的统称. 要解决的问题是 Web 服务器向浏览器实时推送数据, 而解决方案有很多种.

最经典的方案是 AJAX 轮询, 这种方案和”推”技术毫无关系, 只是由于轮询的间隔比较短, 如一两秒, 便给了用户实时的错觉.

新下来是安装浏览器插件, 如 Active-X, 或者使用 Flash 插件, Java Applet 插件等, 这些方案都不通用, 兼容性不好, 也不能被称为 Comet 技术.

根据实践, 真正的 HTTP 长连接方案主要有: Script Tag Long-Polling, Forever Iframe, WebSocket. 这些方案在我的另一篇文章”各种 Comet 技术优缺点对比“有介绍.

对于开发者, 为了快速和方便的开发, 应该选择一个支持 Comet 技术的 Web 服务器和一套 JavaScript 库. iComet 就是这样的一套解决方案.

iComet 开源项目: https://github.com/ideawu/icomet
iComet Demo: http://www.ideawu.com/icomet/chat/

原文: http://www.ideawu.net/blog/archives/821.html

加载中
0
redplus
redplus
必须得顶!!!
0
Arrowing
Arrowing

可以选择使用哪个?

Script Tag Long-Polling, Forever Iframe, WebSocket

0
netstu_
netstu_
WebSocket才是王道
d
dangbingqu
回复 @netstu_ : 不一定,至少微信内置浏览器和360浏览器不支持。我现在改了,用comet了。
netstu_
netstu_
回复 @dangbingqu : 手机浏览器基本都支持 H5吧,支持 h5即支持 websocket,PC 端早期 ie 不支持,可使用 flash 替代的解决方案
d
dangbingqu
您好,websocket在有些浏览器中不支持,怎么解决啊,比如360手机浏览器,微信内置的浏览器。
0
i
ideawu

引用来自“netstu_”的评论

WebSocket才是王道
WebSocket 的优缺点文中链接有对比.
0
i
ideawu

引用来自“Arrowing”的评论

可以选择使用哪个?

Script Tag Long-Polling, Forever Iframe, WebSocket

优缺点文中链接有对比.
0
xf_xin
xf_xin
socket.io
0
m
miaomiaogong1

web实时推送技术使用越来越广泛,但是自己开发又太麻烦了,我觉得没有那个必要,GoEasy就挺不错的,服务器稳定,代码简洁易懂;官网: https://goeasy.io/

返回顶部
顶部