阅读更多
Daniel Rubio(TSS.COM的博客管理者)发布一篇文章介绍Comet,comet是一种server push技术,传统模式的 Web 系统以客户端发出请求、服务器端响应的方式工作。这种方式并不能满足很多现实应用的需求,很多应用都需要服务器能实时地将更新的信息传送到客户端,而无须客户端发出请求。Comet解决了这个问题,简单的说就是客户端发送一个请求,服务器接收它,并使用一个无限循环,将客户端需要的数据push到response中,并进行刷新,但是该response并不关闭,继续接收新的数据并刷新,直到客户端断开连接,该循环才结束退出。

Comet可以通过多种方式实现,比如iFrames,Flash,ActiveX,Applet等,可以基于 AJAX 的长轮询方式,也可以基于 iframe 及 htmlfile 的流方式,也可以使用客户端插件来实现。由于AJAX现在已经是Javascript+XML的广泛应用标准,通过AJAX实现Comet在未来应该大有前途。一些web服务器Resin,Jetty等已经开始支持Comet。

来自:
http://macrochen.iteye.com/blog/28020
http://www.theserverside.com/news/thread.tss?thread_id=48472
http://www.ibm.com/developerworks/cn/web/wa-lo-comet/
14
0
评论 共 11 条 请登录后发表评论
11 楼 sys53 2010-11-17 09:15
2005年我就使用该技术完成了oa中的会议室(聊天室)功能,感觉不好.
10 楼 jiangyubao 2008-02-22 17:57
   我们公司最近也使用comet技术,Java这块由我负责的。我第一感觉就是一种很有趣的技术,编程模式跟以前的不一样,因为是直接推过去了,适合股票、足球比赛、监控等WEB实时信息显示系统。在服务器上发生了一个事件,立刻就把事件通知给浏览器,如果使用定时刷新,刷新周期调得太高会给服务器造成很大压力,调得很低会丢失掉某些事件。

  至于长链接的问题,我们使用的是hightide服务器,这个服务器是Jetty实现的,内置了ActiveMQ,针对comet技术做了一些优化。Jetty本身就是Java NIO来实现的(JAVA NIO不使用一个线程对应一个请求的工作模式),所以长链接的性能问题也给解决了,hightide的链接地址:
http://www.webtide.com/
 
  我们程序已经开发好了,正在集成测试。下阶段我们打算测试性能,如果实在不行,我想把它部署到glassfish服务器上,因为glassfish服务器也是NIO实现的,而且支持集群和负载均衡,具体如何搭建glassfish,是否能解决性能问题,我还在做实验。

9 楼 pppppp 2008-02-22 17:14
适合于聊天室之类的应用
8 楼 strongkill 2008-02-22 15:11
还是喜欢使用请求方式取数据。
7 楼 9esuLuciano 2008-02-22 15:11
根本没有实用价值,哪个服务器受得了这么多个长链接?
6 楼 qichunren 2008-02-22 11:35
服务器持续不断的主动地向客户端push数据,初听感觉非常新鲜,实质没有改变.

5 楼 beckrabbit 2008-02-22 11:29
性能是问题
4 楼 jichongchong 2008-02-22 11:28
转啊转啊,又转回来了
3 楼 sys53 2008-02-22 08:45
我原来开发的oa系统中的聊天室就是用push技术。
2 楼 zhangd83 2008-02-21 15:04
我研究过一阵pushlet技术,是真正的主动服务器技术,也挺好,不过也有缺点(如性能问题),有待改进。
1 楼 wangxinpier 2008-02-21 12:49
比较感兴趣!

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Node.js实现数据推送

    后端推送数据的解决方案有很多,比如轮询、Comet、WebSocket。 1. 轮询对于后端来说开发成本最低,就是按照传统的方式处理Ajax请求并返回数据,在学校的时候实验室的项目一直都采用轮询,因为它最保险也最容易实现。...

  • 运用Comet技术实现服务端往客户端主动推送数据(结合redis发布/订阅)

    记得我之前写过 redis主动向页面push...Comet是一种用于web的推送技术,能使服务器能实时地将更新的信息传送到客户端,而无须客户端发出请求,目前有两种实现方式:长轮询(long-polling)和iframe流(streaming...

  • WebSocket服务端消息推送

    股票曲线实时变化,在线IM聊天等等,Web系统里总是能见到消息推送的应用。消息推送用好了能增强用户体验,实现消息推送有N种解决方案。 1.1、什么是消息推送 消息推送(Push)指运营人员通过自己的产品或第三方...

  • 利用mochiweb让服务端主动推送数据至前端页面

    对于智能化监控软件,从wincc等国外的有相当积累的系统,以及国内一些小型的智能化集成软件,通常其监控...到了后期,一些系统开始考虑轻量的前台页面,AJAX开始流行,以及Comet技术,利用服务端推送的方式,通过长...

  • 服务端主动推送数据到客户端

    通常情况下,打开网页或app去查询或者刷新时,客户端向服务器发出请求然后返回数据,客户端与服务端对应的模式是: 客户端请求--服务端响应, 而在有些情况下,服务端会主动推送一些信息到客户端,例如:新闻的订阅,天气的...

  • java服务器推送技术_服务器推送技术_java 服务端主动推送_web推送技术

    主要思想:服务器端将数据推送到客户端(浏览器)本人做了简单的web实时聊天系统:服务器推送(聊天).zip系统简单说明如下:{系统所用:sqliteUserInfo:用户信息表UserRelation:用户关系表MessageInfo:聊天信息表开发...

  • java推送Comet,comet4j Java 服务端推送消息到web页面实例

    对于页面一直监控,以前都是使用ajax请求即可,但是小并发这做法没多大问题,但是到了大并发就不太合适,如果不想自己写线程来操控就可以偷懒找一些插件,例如comet4j下面我来演示下如何使用这个插件先准备需要的工具:...

  • 服务器主动推送消息数据给客户端

    这个问题第一次是我在实现一个导师的方案的时候所发现的,一开始我需要实现服务器与客户端的密钥协商和数据传递,服务器需要主动分发(推送)密钥给客户端,因为以前没有做过相关编码,后来只能想到用反向连接,也...

  • 服务端推送技术方案-让你的消息更及时

    以HTTP为基础的请求中,服务端“推送”方案有三种,这里其实的推送并不是严格意义上的推送,这里是以获取服务端最新及时的消息为重点,只有第三种方案是服务端推送。 1 基于轮询 2 长训轮(long-polli...

  • AJAX 服务端主动推送数据

    comet是一种server push技术 功能使Request|Response类似于windows的消息处理机制 参考:http://www.ibm.com/developerworks/cn/web/wa-lo-comet/

  • Web应用从服务器主动推送数据到客户端的方式

    文章目录1. ==AJAX轮询==2. iframe3. comet长轮询(long polling...通常情况下,打开网页或app去查询或者刷新时,客户端向服务器发出请求然后返回数据,客户端与服务端对应的模式是: 客户端请求–服务端响应, 而在有些...

  • comet4j java服务端推送消息到web页面实例

    对于页面一直监控,以前都是使用ajax请求即可,但是小并发这做法没多大问题,但是到了大并发就不太合适,如果不想自己写线程来操控就可以偷懒找一些插件,例如comet4j 下面我来演示下如何使用这个插件  先准备需要...

  • Html5 服务端推送 Server-Sent Event

    服务器推送事件(Server-sent Events)是 HTML 5 规范中的一个组成部分,可以用来从服务端实时推送数据到浏览器端。相对于与之类似的 COMET 和 WebSocket 技术来说,服务器推送事件的使用更简单,对服务器端的改动也...

  • php向前台推送_php 加入即时推送功能

    3、测试:浏览器访问端口http://ip:2123或者http://域名:2123,例如 http://workerman.net:2123如图:(如果无法访问请检查服务器防火墙,如果是云服务器还要设置安全组) 前端测试: 后端调用api向任意用户推送: /...

  • Web应用从服务器主动推送Data到客户端有那些方式?

    a) AJAX 轮询(long-polling)方式 实现方式简单,前端浏览器都支持。但是这种方式会有非常严重的问题...Ajax长轮询:它是Ajax轮询的升级版,客户端向服务器端发送请求,服务端接收到请求后,保持连接,检查数据是否...

  • Web应用从服务器主动推送数据到客户端有哪些方式?

    通常情况下,打开网页或app去查询或者刷新时,客户端向服务器发出请求然后返回数据,客户端与服务端对应的模式是: 客户端请求--服务端响应, 而在有些情况下,服务端会主动推送一些信息到客户端,例如:新闻的订阅,天气的...

  • java 使用 comet4j 主动向客户端推送信息 简单例子

    师弟默默地百度了一番,最后告诉我,有一种技术是后服务端动推送信息给客户端的,这种技术的名字叫comet,我惊呆了,因为完全没听过,赶紧上网搜集资料,耗了一个晚上写了个简单的例子,实现主动向客户端发送信息。...

  • JavaWEB应用的消息推送功能:comet4j

    Comet4J(Comet for Java)是一个纯粹基于AJAX(XMLHTTPRequest)的服务器推送框架,消息以JSON方式传递,具备长轮询、长连接、自动选择三种工作模式。 功能特性 推送消息广播。推送定向消息。提供连接上线前...

  • 基于springboot大学生就业信息管理系统源码数据库文档.zip

    基于springboot大学生就业信息管理系统源码数据库文档.zip

  • 基于java的驾校收支管理可视化平台的开题报告.docx

    基于java的驾校收支管理可视化平台的开题报告

Global site tag (gtag.js) - Google Analytics