`

各种 Comet 技术优缺点对比

 
阅读更多
  script tag iframe ajax websocket
polling 低效, 可以跨域 / 低效, 无法跨域 /
long-polling 中效, 可以跨域 中效, 无法跨域 中效, 无法跨域 /
streaming / 高效, 无法跨域 / 高效, 兼容性差

 

经过对比, 最终只有两种 comet 技术胜出: script tag long-polling, 和 iframe streaming(forever iframe).

script tag long-polling

这是最通用, 浏览器中兼容最好, 使用最广泛的方案, 包括微信网页版等知名网站都使用本方案.

iframe streaming(forever iframe)

本方案虽然效率好一些, 但无法跨域. 另外, 从 Chrome ver.31 起, 一个浏览器只能向一个域名发起唯一的一条连接, 所以, 如果你的网站打开了多个 tab, 那么只能有一个 tab 收到服务器推送, 其它 tab 是收不到的!

 

分享到:
评论

相关推荐

    web推送 comet技术

    Comet技术是一种基于HTTP长连接的Web实时通信技术,它允许服务器向客户端主动推送数据,而无需客户端发起新的请求。这种技术打破了传统的HTTP请求-响应模型,极大地提升了Web应用的实时性和交互性,尤其适用于股票...

    comet技术研究总结

    - **适应性强**:Comet可以工作在各种浏览器和服务器环境中,尽管不同的实现方式可能需要针对特定环境进行优化。 3. **Comet技术的挑战与局限** - **兼容性问题**:虽然大多数现代浏览器都支持Comet,但在一些旧...

    气泡提示comet技术

    【气泡提示与Comet技术】 在Web开发中,实现即时通信(Real-Time Communication)是一项重要的功能,尤其在社交应用和消息通知系统中。传统的HTTP协议是基于请求-响应模型的,即客户端发起请求,服务器返回响应,...

    Asp.net Comet(Web)技术

    **Asp.net Comet(Web)技术** Comet技术在IT领域中扮演着独特角色,它是一种颠覆传统HTTP请求-响应模式的Web应用开发方法。在传统的HTTP交互中,客户端(浏览器)向服务器发送请求,服务器处理请求并返回响应,...

    comet的demo

    3. **Comet的优缺点**: - **优点**:提供实时性,减少不必要的网络延迟,适用于实时应用。 - **缺点**:服务器资源占用高,可能导致服务器端压力增大,而且浏览器兼容性问题需要考虑。 4. **Comet的实现**: - ...

    comet demo 向客户端推送例子

    Tomcat 6.0是Apache软件基金会开发的开源Servlet容器,支持各种Java Web应用的部署,包括Comet技术。 首先,Comet的核心在于保持一个开放的HTTP连接,直到有新的数据需要推送或者连接超时。这种连接状态被称为“挂...

    Comet link

    【博客链接】:https://kimi0912.iteye.com/blog/552879 提供的博文详细介绍了Comet技术的原理、实现及优缺点。博主深入浅出地讲解了如何在实际项目中应用Comet,对于理解Comet的工作机制及其在Web开发中的作用有着...

    C#Web即时通讯Comet框架

    在C#中,可以使用各种库和框架来实现Comet技术,这些框架通常会对HTTP连接的管理、数据序列化和反序列化、错误处理等方面提供支持,简化开发流程。这里提到的"C#Web即时通讯Comet框架"可能是一个特定的开源项目,它...

    关于comet的技术讲解

    Comet技术的出现解决了这一问题,它可以分为单向Comet和双向Comet两种类型。单向Comet通常是指服务器向客户端推送数据,而双向Comet,也称为WebSocket,允许客户端和服务器之间双向通信,实现更复杂的实时应用。 在...

    comet4j.jar

    Comet4j是一个Java库,专门用于实现Comet技术,这是一种服务器向客户端推送数据的Web应用程序设计模式。Comet技术打破了传统的HTTP请求-响应模型,允许服务器在客户端保持持久连接,从而实现实时数据更新。这在需要...

    浅析Comet技术在Java Web实时系统开发中的应用.pdf

    浅析Comet技术在Java Web实时系统开发中的应用 Comet技术是Java Web实时系统开发中的关键技术之一,它通过实现服务器推送(Server Push)来解决AJAX需要定时频繁发送请求的问题。Comet技术有两种实现方式:长轮询...

    comet demo

    "Comet Demo" 是一个展示Comet技术实际应用的示例项目,用户可以下载并运行来体验其功能。 在描述中提到,"Comet下载既可以运行",这意味着这个Demo是可执行的,用户下载后无需额外的构建或配置步骤,可以直接启动...

    QM Comet技术实现的在线简单即时通讯工具

    QM Comet技术实现的在线简单即时通讯工具是一种基于Comet技术的Web即时通信解决方案。Comet是一种Web开发技术,它允许服务器向客户端推送数据,而不仅仅是响应客户端的请求,从而实现双向通信,使得实时性得到显著...

    服务器推送技术之comet4j资源包

    Comet4j就是一种基于Java实现的服务器推送技术框架,旨在简化实时Web应用的开发过程。本资源包包含了实现Comet4j功能所需的关键组件,包括`comet4j.js`脚本文件和`comet4j-tomcat7.jar`服务器端库。 首先,让我们...

    Ajax和Comet技术总结

    总结起来,Ajax技术利用XMLHttpRequest对象实现了页面局部更新,提高了用户体验,而Comet技术则进一步突破了传统的客户端-服务器通信模式,实现了服务器向客户端的实时数据推送。两者结合使用,可以构建出更加高效、...

    catalina-comet.jar

    【Catalina-Comet.jar】是Apache Tomcat服务器中用于支持Comet技术的一个关键组件。Comet是一种在Web开发中实现服务器推送技术的方法,它允许服务器主动向客户端发送数据,而不仅仅是响应客户端的请求。这种技术对于...

    comet4j完整包

    【标题】"comet4j完整包"是一个与Web服务端推送技术相关的软件包,它包含了一系列用于实现实时通信的组件和库。这个包旨在帮助开发者构建基于Comet技术的应用,以提供高效的、双向的服务器到客户端的数据传输。 ...

    comet框架例子项目

    在本"Comet框架例子项目"中,我们可以深入理解并学习如何利用Comet技术构建实时通信的应用。 Comet的核心理念是通过长时间保持一个HTTP连接来实现服务器到客户端的数据推送,而不是每次有新数据时都创建新的连接。...

    http长轮询技术comet的实现

    通过comet实现了一个聊天功能。 1.需要在tomcat的server.xml里面配置 connectionTimeout="20000" redirectPort="8443" /> 2.需要在tomcat的context.xml里面配置 在Context标签里面配置: ...

    asp.net comet例子

    ASP.NET Comet是一个技术概念,它涉及到了Web应用程序中的实时通信,特别是服务器向客户端推送数据的能力。在传统的HTTP协议中,服务器通常在客户端发起请求时才响应,而在Comet模式下,服务器可以保持一个连接开放...

Global site tag (gtag.js) - Google Analytics