目前最强大的开源Comet解决方案是:
Dojo+Jetty Cometd+Jetty Continuation+Bayeux协议
一些相关的文档先放在这里,我就不多介绍了,大家都完全有能力读懂。
Jetty的作者,Servlet规范专家组成员Greg Wilkins写的两篇文章:
Ajax, Comet and Jetty:
http://www.webtide.com/downloads/whitePaperAjaxJetty.html
Cometd with Jetty:
http://blogs.webtide.com:8080/gregw/2006/08/03/1154583360000.html
Bayeux协议:
http://svn.xantus.org/shortbus/trunk/bayeux/protocol.txt
一种基于JSON的、平台中立的分路复用协议,可以由任何Comet客户端和服务器端实现。目前客户端的Dojo、服务器端的Jetty Cometd已经实现了对这个协议的支持。
一个使用这个解决方案的实例:
Active AJAX based live dashboards:
http://www.qenet.co.uk/warwick/whitepaper-pushTech.pdf
根据Greg Wilkins的测试,最后Jetty Cometd服务10000个用户875个线程,只用了57M内存。
http://groups.google.com/group/cometd-dev/browse_thread/thread/09d80fb4abdc4f5c
Pushlets作者Just van den Broecke也承认,Pushlets存在着可伸缩性的问题:
“Yes, I am aware of the scalability limitations of the Pushlets framework. A dedicated server-side technique based on NIO (such as Greg, hi there, is working on ?) could help.”
并且申请加入Cometd的开发工作:
“With great interest I have been following recent COMET developments and would like to join cometd developments in whatever way.”
分享到:
相关推荐
综上所述,这个压缩包包含的`comet4j.js`、`comet4j-tomcat6.jar`和`comet4j-tomcat7.jar`是实现基于Java的Comet4j实时通信框架的关键组件。它们分别负责客户端的JavaScript交互、在Tomcat服务器上的集成和支持,为...
Comet是一种古老的Web技术,用于实现实时的、双向的通信,它允许服务器向客户端推送数据,而无需客户端不断地发起请求。在Web开发中,这种技术对于构建实时应用,如聊天室、股票报价或者在线游戏等非常有用。本文将...
1. **长轮询(Long Polling)**:Comet4j可能实现了长轮询技术,这是最早的Comet实现方式之一。当客户端发送请求后,服务器并不立即响应,而是保持连接打开状态,直到有新的数据可发送,或者超时才返回,从而实现数据...
3. **Comet服务端实现**:在服务器端,你需要实现一个Comet处理器,该处理器会在接收到客户端连接后保持这个连接,直到有新的消息需要发送。这个处理器可以是基于Servlet的,如Atmosphere或Jetty的Continuation API...
本文将深入探讨如何在Tomcat中开发一个Comet实例,这是一项用于实现服务器向客户端推送数据的技术,对于实时交互应用如聊天、股票更新或天气预报等场景非常关键。 Comet是一种持久连接技术,它打破了传统的HTTP请求...
- 两种主要的Comet实现方式:HTTP长轮询和HTTP流。长轮询是客户端发起请求,服务器保持连接直到有新的数据,然后才响应并关闭连接;HTTP流则是在连接保持打开的状态下,服务器不断发送数据到客户端。 2. **DWR...
Comet4J是一个针对Java平台的服务器推送框架,它的核心理念是利用Ajax(XMLHttpRequest)技术来实现服务器向客户端的实时数据推送。在传统的HTTP协议中,服务器与客户端的通信通常依赖于客户端发起请求,而服务器...
然而,Comet也存在一定的缺点,如服务器资源消耗较大、兼容性问题等,因此在实际应用中,还需要根据具体需求权衡选择。随着WebSocket等现代实时通信协议的普及,Comet技术逐渐被取代,但仍有一定的学习价值和应用...
在Comet模型中,服务器可以在准备好新数据时主动推送到客户端,而无需客户端频繁发起HTTP请求。这种模式特别适合实时性要求高的应用,如聊天室、股票行情、在线游戏等。 **MyEclipse** MyEclipse是一款强大的Java ...
Comet4j是一种基于Java的 comet技术框架,它主要用于实现在Web应用中实现服务器向客户端的实时推送数据,即长连接通信。Comet技术的核心思想是打破传统的HTTP请求-响应模型,让服务器能够主动地向客户端发送数据,而...
Comet4j是一种基于Java的实时通信框架,它主要用于实现服务器向客户端的长连接推送技术。这个压缩包包含了与Comet4j相关的几个关键组件,适用于Tomcat 6...对于需要实时交互功能的项目,Comet4j是一个值得考虑的选择。
在本文中,我们将深入探讨如何使用DWR(Direct Web Remoting)与Java技术结合实现Web消息推送功能。...开发者在实际应用中,需根据项目需求选择合适的Comet实现方式,并考虑性能优化和扩展性设计。
Comet4j可能支持这些技术,让开发者可以选择适合其应用需求的实现方式。 在压缩包中的文件名列表: 1. "comet4j-tomcat7.jar" - 这个文件表明Comet4j提供了针对Tomcat 7版本的适配器或扩展,使得该库能无缝集成到...
因此,在实际应用中,开发者需要根据具体需求和环境选择合适的Comet实现方式,并进行优化以确保性能和稳定性。 在"comet实例.rar"这个压缩包中,可能包含了展示Comet技术如何工作的代码示例或者演示应用程序。通过...
长轮询是Comet技术的一种实现方式,它通过保持HTTP连接打开直到有新的数据可用,然后服务器才会关闭连接并返回数据。这种方式避免了频繁的HTTP请求,减少了服务器负载,但可能会占用较多的服务器资源。 长连接,也...
- WebSocket:虽然Comet是为了解决HTTP协议的不足,但WebSocket作为HTML5的一项新特性,提供了全双工的通信通道,效率更高,也可以实现服务器向客户端的推送。在某些情况下,Comet可能被WebSocket替代,但在老版本...
然而,由于Comet技术本身的一些限制,比如可能会占用大量服务器资源和可能导致浏览器兼容性问题,所以在选择Comet4j之前,开发者需要权衡这些因素。 总结来说,Comet4j是一个用于实现实时Web通信的Java库,包括了...
本文主要讨论了一种基于Comet服务器推技术的Pushlet实现,这种技术允许服务器向客户端实时推送数据,而无需客户端持续发起请求。 Comet技术是一种优化的Web通信模式,其核心思想是利用持久化HTTP连接来实现实时数据...