为提高用户体验,我们在处理一些长时间的任务中总希望提供进度条来显示任务完成情况。一般采用两种方式完成:一、客户端定时访问服务端获得进度信息并显示。二、服务端定时向客户端推送进度信息,客户端显示收到的进度。
这二种方式分别具有一下优缺点:
1.客户端定时访问:
- 缺点:效率比较低,频繁的访问服务端消耗服务端资源。在权限系统中可能造成权限不能过期问题(timeout)。
- 优点:服务端处理比较简单。
2.服务端定时推送:
- 缺点:服务端处理程序比较复杂,需要掌握一定的线程知识。可能还需要应用服务器支持。
- 优点:效率较高。
第一种实现方式,网上有非常多的实现并且其固有的缺点所以没有实现。这里只实现了服务端推送方式,工程在附件中。
工程中实现了二种方法推送进度:
1.通过Tomcat comet 实现(
http://tomcat.apache.org/tomcat-6.0-doc/aio.html)。
- 缺点:只能绑定tomcat 6.0以上版本,需要对服务器进行配置,使用正确的协议(如:org.apache.coyote.http11.Http11NioProtocol等)。
- 优点:客户端开发比较简单,不需要太多学习。
2.通过pushlet实现
http://www.pushlets.com。
- 缺点:需要学习了解pushlet的使用。
- 优点:适合主流web服务器,一旦学会使用还是比较简单。
我认为如果功能简单又使用Tomcat 6.0以上服务器,可以采用Tomcat comet。如果应用比较复杂最好采用pushlet,可能为了适合应用你可能需要扩展它,好在pushlet不算复杂,一般看看资料和源代码就会明白其原理,也就不难对其进行扩展。因为推送机制主要在后台完成,所以后台代码比较复杂,如果你不太了解线程最好先学习一下。
具体实现参考附件中的工程。开发IDE是Eclipse。如有疑问可以邮件hhywangwei@gmail.com共同探讨。
注意使用Tomcat comet 实现需要修改协议为protocol="org.apache.coyote.http11.Http11NioProtocol"。
- 大小: 123.8 KB
分享到:
相关推荐
tomcat实现comet例子,实现后台产生每隔几秒产生随机数,前台不刷新显示。tomcat实现comet例子,实现后台产生每隔几秒产生随机数,前台不刷新显示。tomcat实现comet例子,实现后台产生每隔几秒产生随机数,前台不...
总的来说,Comet框架的Pushlet实现是一种高效的服务器推送技术,它通过持久化连接解决了传统Web应用实时性不强的问题,对于需要实时数据更新的应用场景具有显著的优势。开发者可以利用Pushlet轻松构建出实时交互的...
Pushlet是Comet技术的一种实现,由Unicauca开发,它提供了一个框架来处理服务器推送的数据流。 在这个"comet pushlet 例子"中,我们主要关注以下几个关键知识点: 1. **HTTP长连接**:在HTTP协议中,通常每个请求...
总的来说,这个"comet demo"是一个学习和理解Comet技术的绝佳实践,可以帮助开发者掌握如何在Java Web环境中实现服务器向客户端的实时数据推送。通过深入研究和运行这个示例,你可以更好地了解HTTP长连接的工作原理...
【基于Pushlet实现的JSP网站消息推送】 在Web开发中,实时消息推送技术是提升用户体验的关键要素之...通过理解Pushlet的工作机制和实施流程,开发者可以更好地理解和掌握Web推送技术,提升Web应用的实时性和用户体验。
Pushlet和Comet技术是Web服务器向浏览器推送数据的两种策略,主要用于实现实时的、双向的通信。这两种技术在传统的HTTP协议基础上进行了扩展,克服了HTTP请求-响应模型的限制,使得服务器能够主动向客户端推送数据,...
综上所述,Tomcat 的 Comet 技术是通过 HTTP 长连接实现服务器推送,适合实时性要求高的应用。博客中可能会深入讲解原理、实现方式、性能优化和实际应用案例,对于理解和应用该技术非常有帮助。由于没有具体的内容,...
javaweb消息推送 基于comet实现局域网内部通讯(聊天室)demo 功能特性 推送消息广播。 推送定向消息。 提供连接上线前、上线、下线前、下线、发送消息等多种可处理事件。 消息缓存机制,确保长轮询工作模式下不丢失...
总结来说,"一个基于pushlet推送的小例子"是一个展示如何在Tomcat服务器上利用Pushlet框架实现Comet技术的实例。通过这个例子,开发者可以学习到如何构建和部署一个能够进行服务器端数据推送的Web应用,这对于需要...
总结起来,基于Comet的Pushlet技术通过长轮询和流方式实现了高效的服务器向客户端的数据推送,有效地解决了Web实时通信的问题,尤其适用于需要实时交互的场景。无论是长轮询还是流方式,都利用了HTTP连接的持久性,...
Pushlet是基于Comet技术的一种实现,它为Java开发者提供了一种高效的服务器推送解决方案。 一、Comet技术 Comet是一种允许服务器长时间保持HTTP连接的技术,它打破了传统的Web应用模型,即客户端发起请求,服务器...
Pushlet框架利用了这一机制,创建了一个可以处理多个并发连接的服务器端组件,以及相应的客户端API,使得开发者能够轻松地集成服务器推送功能。 在Pushlet的实现中,主要有两个关键角色:Pushlet Server(推送...
本示例介绍的是如何使用Comet4j这个第三方库来实现后台到前台的消息推送功能。Comet4j是一个专门用于JavaWeb应用的长连接通讯框架,它简化了基于Comet技术的实时通信实现。 首先,我们要理解Comet技术。Comet是一种...
这个库集成了Comet4j框架与Tomcat,使得开发者能够在Tomcat上实现高效的服务器推送服务。将这个JAR文件添加到Tomcat的类路径中,就可以启用Comet4j的功能,支持Web应用进行实时通信。 在使用Comet4j时,开发者需要...
【标题】"comet4j 自己写的消息推送 觉得实用" 提示我们讨论的是一个自定义实现的基于 Comet4j 的消息推送系统。Comet4j 是一个开源的 Java 框架,用于实现实时的、双向的、基于 HTTP 长连接的消息推送服务,它解决...
实现通过pushlet,进行点对点聊天功能。 包括: 在线用户上线的通知 离线的通知 来新消息时的通知 前台使用Ext ,后台使用pushlet /pushlet/WebRoot/index.jsp 页面主要包含几个部分。 Ext.PUSHLET_URL='...
在IT行业中,Pushlet是一种基于Java的推送技术,主要用于实现实时的数据传输,尤其是在Web应用中创建实时聊天、通知服务等功能。Pushlet是基于HTTP连接持久化的概念,它允许服务器主动向客户端推送数据,而无需...
在DWR中,Comet技术是实现长时间连接和实时数据推送的关键。 首先,我们需要了解Comet技术的基本概念。Comet是一种Web编程模式,用于实现在服务器向客户端推送数据时保持持久连接。传统的HTTP协议是基于请求-响应...
Comet4j是一种基于Java的实时通信框架,它利用了HTTP长连接技术,实现了服务器向客户端的高效、低延迟的消息推送。在这个压缩包中,包含了Comet4j框架运行所必需的一些关键组件。 首先,`comet4j.js`是Comet4j的...