`

开源框架Pushlet入门

阅读更多


来自:http://www.pussor.com/?p=3

官网:http://www.pushlets.com/

Ajax等Web 2.0技术的广泛应用,推动了C/S向B/S的转变,如今很多应用如监控、即时通信等系统都需要实时同步服务器端和客户端的数据更新。Comet在这种需求下应运而生,本文简单介绍了基于Comet的开源框架Pushlet。

Comet基础

Comet 是一个用于描述客户端和服务器之间的交互的术语,即使用长期保持的 HTTP 连接来在连接保持畅通的情况下支持客户端和服务器间的事件驱动的通信。

—引用自“Comet的诱惑”

传统的web系统的工作流程是客户端发出请求,服务器端进行响应,而Comet则是在现有技术的基础上,实现服务器数据、事件等快速PUSH到客户端,所以会出现一个术语”服务器推“技术。

PUSH实现方式

JSP/SERVLET PUSH

原理:

利用JSP/SERVEL技术,在不关闭HTTP流的情况下PUSH数据到客户端浏览器;

实现:

基于 AJAX 的长轮询(long-polling)方式

AJAX 的出现使得 JavaScript 可以调用 XMLHttpRequest 对象发出 HTTP 请求,JavaScript 响应处理函数根据服务器返回的信息对 HTML 页面的显示进行更新。使用 AJAX 实现“服务器推”与传统的 AJAX 应用不同之处在于:

  1. 服务器端会阻塞请求直到有数据传递或超时才返回。
  2. 客户端 JavaScript 响应处理函数会在处理完服务器返回的信息后,再次发出请求,重新建立连接。
  3. 当客户端处理接收的数据、重新建立连接时,服务器端可能有新的数据到达;这些信息会被服务器端保存直到客户端重 新建立连接,客户端会一次把当前服务器端所有的信息取回。

Pushlet实例

以Pushlet中的ping案例来进行分析:

  1. 新建一个Web项目取名ping,并导入Pushlet的jar包;
  2. 在src目录下配置sources.properties、pushlet.properties文件;
  3. webroot目录下导入js-pushlet-client.js,js-pushlet-net.html;
  4. 新建TestEventPullSources.java;
  5. 新建index.html,引入js-pushlet-client.js;
  6. 新建pingok.jsp;
  7. 修改web.xml加上pushlet的servlet
  8. 打包、部署ping项目;



实例1            Pushlet CookBook部分翻译 + 注释

pushlet 2.0.3 源码分析(服务器端)

分享到:
评论

相关推荐

    开源框架Pushlet入门(转)

    【开源框架Pushlet入门(转)】 Pushlet是一款开源的实时数据推送框架,它允许服务器端主动将数据推送到客户端,而无需客户端不断轮询请求。这种技术在现代Web应用中非常常见,如实时聊天、股票报价、在线游戏等...

    开源的Comet框架Pushlet.zip

    Pushlet 是一个开源的 Comet 框架,Pushlet 使用了观察者模型:客户端发送请求,订阅感兴趣的事件;服务器端为每个客户端分配一个会话 ID 作为标记,事件源会把新产生的事件以多播的方式发送到订阅者的事件队列里。 ...

    pushlet框架做的小例子

    Pushlet框架,又称为Java Pushlet,是一种基于Java的实时推送技术框架,由Marc Fleury创建并开源。Pushlet的核心概念是实现服务器向客户端的主动推送数据,而不是传统的HTTP请求-响应模式,即客户端通过轮询方式获取...

    comet 框架 之 pushlet

    开发者可以通过阅读源码了解其工作原理,参考示例快速入门,通过配置文件定制Pushlet Server的行为。 总的来说,Comet框架的Pushlet实现是一种高效的服务器推送技术,它通过持久化连接解决了传统Web应用实时性不强...

    服务器推送pushlet讲解

    这个名为"pushlet-record.txt"的文件可能包含了Pushlet框架的使用记录、日志信息或者是一些示例代码。分析这个文件可以帮助你更好地理解和使用Pushlet框架,例如,你可以找到服务器如何处理推送事件,客户端如何建立...

    pushlet 之 Pushlet使用手把手实例

    Pushlet 是一个开源的、基于Java的实时信息发布系统,它采用推送技术(Push Technology)实现服务器向客户端实时发送数据,而无需客户端频繁发起请求。这种技术在实时性要求高的场景,如股票交易、在线聊天、实时...

    pushlet.jar 和示例工程

    示例工程则提供了一个快速入门的起点,通过实际运行和调试,开发者可以快速掌握Pushlet的使用方法。 总的来说,Pushlet框架是实现Web应用中服务器主动推送消息的一个强大工具,尤其适用于需要实时交互的场景。通过...

    pushlet jar包下载

    服务器推 pushlet 服务器推 pushlet 服务器推 pushlet 服务器推 pushlet

    pushlet

    Pushlet的核心组件是Pushlet Server和Pushlet Client。Pushlet Server作为服务端,接收并处理客户端的连接,当有新的数据可用时,会主动将数据推送到已经建立连接的客户端。Pushlet Client则是在用户端运行的程序,...

    pushlet-2.0.4.rar

    《Pushlet 2.0.4:JAVA开源框架与J2ME、JAVA WEB技术解析》 Pushlet 2.0.4是一款基于JAVA的开源框架,专为实现推送技术(Push Technology)而设计,适用于J2ME和JAVA WEB环境。在当前互联网应用中,实时数据传输的...

    pushlet例子

    pushlet例子,Pushlet 是一个开源的 Comet 框架,Pushlet 使用了观察者模式:客户端发送请求,订阅感兴趣的事件;服务器端为每个客户端分配一个会话 ID 作为标记,事件源会把新产生的事件以多播的方式发送到订阅者的...

    pushlet简单配置应用

    Pushlet是一种基于Java的实时数据推送技术,由荷兰JustObjects公司开发。Pushlet库的核心功能是实现实时的服务器向客户端推送数据,而无需客户端频繁发起请求,这大大提高了网络应用的效率和用户体验。以下是对...

    pushlet实现简单的用户聊天

    Pushlet框架主要包括两个核心组件:Pushlet Server和Pushlet Client。Pushlet Server运行在服务器端,接收并处理客户端的连接请求,同时负责将消息推送到已连接的客户端。Pushlet Client则运行在用户的浏览器或应用...

    pushlet服务器推技术例子

    Pushlet是基于Java的开源项目,它利用了HTTP的长连接特性,实现了服务器主动向客户端推送数据的功能,避免了传统HTTP请求-响应模型中的频繁轮询,提高了效率和用户体验。 在描述中提到的“模拟用户聊天功能”,...

    PushLet实例,可直接运行

    3. **库文件**:jar包,包含了PushLet框架和其他依赖的第三方库,比如可能包含Jetty(一个轻量级的HTTP服务器和Servlet容器)或其他网络通信库。 4. **运行脚本**:可能包含启动和停止PushLet服务的脚本,通常用于...

    pushlet 和comet 资料介绍

    Pushlet是一种基于Java的开源实现,它支持现有的Web服务器。Pushlet的核心思想是通过持久化的HTTP连接来实现实时通信。在客户端,Pushlet通常使用IFrame和JavaScript来创建一个持久的连接,使得服务器能够向浏览器...

    Pushlet简单示例测试

    Pushlet是一种基于Java的实时数据推送技术,它允许服务器向客户端主动推送数据,而无需客户端持续不断地轮询请求。在Web应用中,Pushlet能够显著提高用户体验,因为它减少了延迟并优化了服务器资源的使用。本示例...

    pushlet文档和项目

    Pushlet是一种基于Java的推送技术框架,用于实现实时数据从服务器向客户端的推送。Pushlet项目是由Peter Mularien开发的,它提供了一个简单、轻量级的解决方案,允许服务器端主动向浏览器或其他客户端应用程序发送...

    pushlet.jar(2.0.4)

    Pushlet 是一个开源的 Comet 框架,Pushlet 使用了观察者模式:客户端发送请求,订阅感兴趣的事件;服务器端为每个客户端分配一个会话 ID 作为标记,事件源会把新产生的事件以多播的方式发送到订阅者的事件队列里。 ...

    Pushlet点对点发送消息

    Pushlet是一种基于Java的实时通信框架,主要用于实现服务器向客户端推送数据,也就是所谓的“服务器推”技术。在传统的HTTP协议中,客户端需要不断发起请求来获取服务器的数据,而Pushlet则打破了这种模式,允许...

Global site tag (gtag.js) - Google Analytics