http://blog.csdn.net/yyri/archive/2008/02/22/2113976.aspx
http://hi.baidu.com/holin/blog/item/51c9d15875124183800a189f.html
"Pushlet作者也承认,Pushlet存在着可伸缩性的问题:
QUOTE:
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的开发工作:
QUOTE:
With great interest I have been following recent COMET developments and would like to join cometd developments in whatever way."
看来要转投“Jetty Cometd”的怀抱啦,
不过研究PUSHLET的结构还是有很多收获的。
The author wishes to express sincere appreciation to Just van den Broecke for
his prompt and detailed help in using his Pushlet’s API., Chris Bucchere for his
help with deploying the first release CometD and Alex Russell for his advice on
AJAX and CometD.
Pushlets (http://www.pushlets.com/)
The use of Pushlets is move towards a more flexible and usable solution. The
Pushlets API works to provide a solution that doesn’t require an applet on the client
side, and works via a long lived connection. This is achieved via a connection
much like that used for streaming of multimedia, i.e. a quick time video. This
connection, instead of being closed after the data is sent, remains open and
receives data from the server.
Because this works via HTTP, all communication is done via a single connection to
a servlet and should work behind any firewall, although there maybe some issues
with proxy’s caching data.
Another benefit to the Pushlets API is that is provides a mechanism to directly tie into an
AJAX implementation . This provides much neater intergration, and saves the developer
the time.
Pushlets do present some limitations though; the main one being the issue of scalability.
As each client connects its takes up a socket, which in turn will hold on to at least one
thread and, consequently, memory. If 100’s of clients connect to this service the memory
usage can therefore become a significant issue, also impacting processing potential.
Pushlets do not provide a mechanism for knowing what clients receive messages. This
means that it can be difficult to tell which clients are still alive and the application can be
left with messages not reaching clients and broadcasting messages to clients that have
disconnected.
The final issue with Pushlets is that Proxies can buffer HTTP data, this isn’t under the
developers control so can prove difficult to resolve in a robust manner.
"The first mechanism used was Pushlets, this was an effiecient method of achieving the
desired functionality, but once testing started with large amounts of data (1KB maximum
per client) and clients (200+ clients) it became apparent that the system would be unable
to perform to requirements. This could be overcome by using higher performance
hardware."
分享到:
相关推荐
标题中的“通过推送机制(Tomcat comet,pushlet)实现进度条”涉及到的是Web应用中的一种实时通信技术,主要用于提供动态更新和用户交互。这里主要介绍Tomcat的Comet和Pushlet技术,以及如何利用它们来创建一个...
Pushlet是Comet框架的一个实现,它由Janus Software公司开发。Pushlet的核心思想是通过一个持久化的HTTP连接来保持服务器与客户端之间的通信,使得服务器可以在有新数据时立即发送给客户端,而不是等待客户端的下一...
Pushlet和Comet技术是Web服务器向浏览器推送数据的两种策略,主要用于实现实时的、双向的通信。这两种技术在传统的HTTP协议基础上进行了扩展,克服了HTTP请求-响应模型的限制,使得服务器能够主动向客户端推送数据,...
Pushlet 是一个开源的 Comet 框架,Pushlet 使用了观察者模型:客户端发送请求,订阅感兴趣的事件;服务器端为每个客户端分配一个会话 ID 作为标记,事件源会把新产生的事件以多播的方式发送到订阅者的事件队列里。 ...
在探讨Comet之前,我们先来了解一些常见的“服务器推”方案,并对它们进行简单的对比。 1. **基于插件的方法**: - **Flash XMLSocket**:利用Flash提供的XMLSocket类实现客户端与服务器之间的双向通信。优点是...
Pushlet是Comet技术的一种实现,由Unicauca开发,它提供了一个框架来处理服务器推送的数据流。 在这个"comet pushlet 例子"中,我们主要关注以下几个关键知识点: 1. **HTTP长连接**:在HTTP协议中,通常每个请求...
/pushlet/src/np/comet/pushlet/ext/PushLetUserInfo.java 提供发送信息,显示历史信息,显示在线用户列表的servlet /pushlet/src/np/comet/pushlet/ext/PiccUtil.java 通过对类的扩展实现,自定义的p_id的生产...
/pushlet/src/np/comet/pushlet/ext/PushLetUserInfo.java 提供发送信息,显示历史信息,显示在线用户列表的servlet /pushlet/src/np/comet/pushlet/ext/PiccUtil.java 通过对类的扩展实现,自定义的p_id的生产...
为了简化Comet应用的开发,有一些开源框架如Pushlet可以帮助开发者快速构建服务器推功能。Pushlet提供了一种简单的方法来管理和维护HTTP长连接,使得开发者可以专注于业务逻辑,而不是底层通信细节。 总结来说,...
总结,Pushlet作为早期的Comet技术,为实时Web应用提供了可能。虽然现代Web技术(如WebSocket)已经更为先进,但Pushlet的学习仍然有助于理解Web实时通信的原理,对于历史遗留系统维护或研究Web技术演进具有参考价值...
Pushlet基于HTTP的 Comet 模型,Comet是一种使服务器能够通过一个持久的HTTP连接向浏览器推送数据的技术。在Pushlet中,客户端(通常是浏览器)与服务器建立一个持久连接,然后服务器保持这个连接打开,直到有新数据...
Pushlet 是一个基于Java的实时通信框架,它主要用于实现服务器向客户端推送数据的Comet技术。Comet是一种优化的Web通信模式,它打破了传统的HTTP请求/响应模型,使得服务器能够主动向客户端发送数据,而无需客户端...
Java 推送 长连接 轮询 pushlet comet4j” 这个描述中提到了几个关键概念: 1. **Java推送**:Java作为一种跨平台的编程语言,提供了多种实现推送服务的方式。在这个demo中,使用了Java进行服务器端的开发,实现了...
7. **示例应用**:压缩包中可能包含了一些演示如何使用Pushlet的实例,比如实时聊天、实时新闻更新等,帮助开发者快速理解并开始使用Pushlet。 学习和使用Pushlet,你需要了解基本的Java Servlet和Ajax知识,同时,...
这通常涉及到创建一个持久的HTTP连接,使用WebSocket或Comet技术(Pushlet使用的是Comet)。 3. **消息处理**:在服务器端,你需要创建一个处理聊天消息的逻辑,包括接收新消息、存储消息、以及将消息推送给正确的...
Pushlet框架是基于HTTP连接持久化的,通过长轮询(Long Polling)或者 comet 技术实现,这使得服务器可以在有新数据时立即推送给客户端,而无需客户端不断发起新的请求来检查更新。 在博文...
【Pushlet的JAR包和文档】是一组与实时通信技术相关的资源,主要涉及Pushlet项目,这是一种基于Java实现的Comet风格的Web应用工具。Pushlet是早期实现服务器推送(Server-Side Push)技术的一个重要框架,它利用HTTP...
7. **Comet技术**:Pushlet是早期实现Comet技术的库之一。Comet是一种让服务器能长时间保持HTTP连接开放,以便向客户端推送数据的技术,这在实时应用中非常有用,比如股票交易、即时聊天和在线游戏等。 在实际应用...
Pushlet的核心概念是基于HTTP长连接的 Comet 模式。Comet模式通过长时间保持一个HTTP连接开放,使得服务器可以在适当的时候向客户端发送数据,而无需等待客户端的请求。Pushlet框架利用了这一机制,创建了一个可以...