开源框架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 源码分析(服务器端)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值