`
心痛泪流
  • 浏览: 12943 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

服务器推送——PushLet的应用<二>

阅读更多

       PushLet_B是在前面PushLet_A代码的基础上改写的,其作用是将推送动作抽离出来,因此在实际使用过程中,需要推送的信息的产生具有不确定性,有可能3分钟设备会出一个问题,也有可能一天都不出问题。

       在写该测试示例之前,本人范了一个严重且低级的错误,就是直接通过一个main函数调用pullEvent()方法来进行测试,刚开始的时候以为直接调用pullEvent()方法即可,但却一直报Dispatcher.getInstance()为空,后来通过分析Puslet.java 源码发现,推送的实现必须给予Web容器的支持,因为仅仅通过main()函数直接调用pullEvent()方法仅仅是单纯的方法调用而已,没有通过Web容器的参与,无法获取Session等信息,所以不能正确获取对象。
     因此该示例实际为一标准Servlet,其中pullEvent()方法中比较关键的代码为:

     若不进行转码,在进行首次推送时会将页面与服务器的链接打断。

 

Event event = Event.createDataEvent(subject);//获取监听事件源(对象)
event.setField("hw",new String(str.getBytes("UTF-8"), "ISO-8859-1"));//转码
Dispatcher.getInstance().multicast(event);//实现推送动作

 
     编译、部署该示例,运行index.jsp页面后,另开一页面“手动”请求PushServlet即可出现和PushLet_A示例同样的运行效果(为了便于演示,该示例内部依然写了一个死循环)。

 

               个人说明:

            1 、为表示对相关资料贡献者的尊重,转载、参考内容均有特殊说明并附出处【 URL

            2 、由于知识面、技术能力有限,内容主要面向应用、没有过多关于原理性的介绍。

            另外文中阐述若有不()正确之处,望广大网友“友好”指正。

  

  • PushLet_B.rar (15.7 KB)
  • 描述: <导入MyEclipse可直接使用,记得加包哈>
  • 下载次数: 110
分享到:
评论

相关推荐

    服务器推送——PushLet的应用<一>

    【服务器推送技术——PushLet应用详解&lt;一&gt;】 在当今的互联网应用中,实时性成为了不可或缺的需求,无论是即时通讯、在线游戏还是股票交易,都需要服务器能够主动向客户端推送信息,而不是传统的请求-响应模式。这...

    pushlet服务器推送技术

    在IBM于2008年发布的技术报告中,详细介绍了服务器推送技术——即所谓的Pushlet。这项技术为Web应用程序的发展带来了革命性的变化,尤其是在异步通信方面。本文将根据报告内容深入探讨Pushlet的相关知识点,包括其...

    pushlet2.0.4-demo-增加指定人推送

    在最新的版本 2.0.4 中,该框架引入了一个重要的新特性——支持指定用户推送,这使得消息传输更加精细化,提升了用户体验,同时也优化了服务器资源的利用。 一、Pushlet 框架基础 Pushlet 框架基于 publish-...

    开源框架Pushlet入门(转)

    3. **数据解析**:接收到服务器推送的数据后,客户端需要解析这些数据,通常是JSON格式,然后进行渲染或处理。 **Pushlet的应用场景** 1. **实时通知**:例如,即时消息系统或邮件通知,服务器可以直接将新消息推送...

    java webIM 上传错了,现在换这个

    Pushlet是一个基于Java的轻量级推送技术框架,常用于构建实时Web应用程序,尤其是即时通讯系统。 Pushlet的核心思想是服务器向客户端推送数据,而不是传统的客户端轮询方式。这种设计模式提高了效率,减少了网络...

Global site tag (gtag.js) - Google Analytics