`

第五部分 包拆解 2)org.directwebremoting.bayeux包

 
阅读更多

这个包是用来支持bayeux协议的,兼容comet技术,什么是bayeux,请看如下:

下面这些可以实现基于web的实时事件通知的方法:

1.HTTP流:这种方法由存在于不间断的HTTP连接响应中或某个XMLHttpRequest连接中的服务器数据流所组成。

  2.HTTP拉取方式:在这种传统的方法中,客户端以用户可定义的时间间隔去检查服务器上的最新数据。这种拉取方式的频率要足够高才能保证很高的数据精确度,
但高频率可能会导致多余的检查,从而导致较高的网络流量。而另一方面,低频率则会导致错过更新的数据。理想地,拉取的时间间隔应该等于服务器状态改变的速度。

  3.反转AJAX:服务流应用到AJAX,就是所谓的反转AJAX 或者COMET 。它使得服务器在某事件发生时可以发送消息给客户端,而不需要客户端显式的请求。
目标在于达到状态变化的实时更新。COMET使用了HTTP/1.1中的持续连接的特性。通过HTTP/1.1,除非另作说明,服务器和浏览器之间的TCP连接会一直保持连接状态,
直到其中一方发送了一条明显的“关闭连接”的消息,或者有超时以及网络错误发生。

  4.长时间轮询:也就是所谓的异步轮询,这种方式是纯服务器端推送方式和客户端拉取方式的混合。它是基于BAYEUX协议的。这个协议遵循基于主题的发布——订阅机制。
在订阅了某个频道后,客户端和服务器间的连接会保持打开状态,并保持一段事先定义好的时间。如果服务器端没有事件发生,而发生了超时,
服务器端就会请求客户端进行异步重新连接。如果有事件发生,服务器端会发送数据到客户端,然后客户端重新连接

注:Comet:基于 HTTP 长连接的“服务器推”技术

Bayeux是Dojo基金会定义的一个协议。dwr在去年的时候就开始支持该协议,随着dwr项目2008年初加入到Dojo基金 会,ajax技术(dwr)和comet(cometd)技术将会融合的更加紧密(说明:dwr,cometd现在都属于dojo基金会下面的项目),本 包将来估计会作很大的变化。ajax技术和comet技术的融合,参看使用 Jetty 和 Direct Web Remoting 编写可扩展的 Comet 应用程序
这个包是dwr外部支持包,并未被其他包引用。
org.directwebremoting.bayeux.BayeuxClientBayeux协议客户端
org.directwebremoting.bayeux.BayeuxScriptConduitBayeux协议Script管道
org.directwebremoting.bayeux.BayeuxServletContextAttributeListener该 监听器由web.xml注册,如果要使用推的技术,那么你就必须注册,BayeuxServletContextAttributeListener,会 调用BayeuxClient,按comet原理将script推送的客户端。具体细节未作研究。

分享到:
评论

相关推荐

    dwr源码包,dwr.jar包下载

    org.directwebremoting.servlet.DwrServlet <init-param> <param-name>debug</param-name> <param-value>true</param-value>//开启调试 </init-param> <servlet-name>dwr-invoker ...

    DWR(Direct Web Remoting)框架jar包.rar

    DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站。它可以允许在浏览器里的代码使用行在WEB服务器上的JAVA函数,就像它就在浏览器...

    xalan.jar dwr使用异常

    做个extjs 与dwr结合的例子dwr2.0 jdk6.0 dwr 取不到数据 困扰了我一天 后来下载了xalan.jar 包导入工程 ok 2009-8-16 10:18:39 org.directwebremoting.util.CommonsLoggingOutput info 信息: DWR Version 2.0.5 ...

    服务器端ajax框架--------DWR实践总结

    从project中提取的dwr部分实现 博文链接:https://ankor.iteye.com/blog/138778

    SSH(Spring Struts Hibernate)所有jar包

    3.2.6.RELEASE.jar spring-orm-3.2.6.RELEASE.jar spring-tx-3.2.6.RELEASE.jar spring-web-3.2.6.RELEASE.jar spring-webmvc-3.2.6.RELEASE.jar struts2-convention-plugin-2.3.4.jar struts2-core-2.3.4.1.jar ...

    dwr_jar包下载

    dwr jar 包,外面找不到。commons-logging.jar dwr.jar DwrSpringAnnotations.jar

    ajax框架Dwr的具体使用步骤

    org.directwebremoting.servlet.DwrServlet <init-param> <param-name>debug</param-name> <param-value>true</param-value>//开启调试 </init-param> <servlet-name>dwr-invoker...

    DWR(Direct Web Remoting)

    DWR(Direct Web Remoting)是一个开源的类库,可以帮助开发人员开发包含AJAX技术的网站.它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样.

    SpringBoot整合DWR-3.0.2-RELEASE,并以 " java -jar XXX.jar" 的方式独立运行

    2.提供了SpringBoot整合DWR-3.0.2-RELEASE的完整源码示例工程`dwr-tomcat` 示例使用了SpringBoot默认的Tomcat内嵌服务器, 使用了最简单的配置来运行该示例 3. 其他说明 ①开发环境 : 建议使用IntelliJ IDEA,社区版...

    jsp聊天系统(及时消息)

    jsp聊天系统(及时消息),运用jsp javascript ajax 技术!

    面向 Java 开发人员的 Ajax: 结合 Direct Web Remoting 使用 Ajax

    DWR source code 博文链接:https://zhangljerry.iteye.com/blog/64375

    Java开源AJAX框架

    火龙果软件工程技术中心 DWR DWR(DirectWebRemoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接...

Global site tag (gtag.js) - Google Analytics