`
pcajax
  • 浏览: 2158725 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

实战 Comet 应用程序开发

阅读更多

 Comet 是一种新的 Web 应用架构。基于这种架构开发的应用中,服务器端会主动以异步的方式向客户端程序推送数据,而不需要客户端显式的发出请求。Comet 架构非常适合事件驱动的 Web 应用,以及对交互性和实时性要求很强的应用,如股票交易行情分析、聊天室和 Web 版在线游戏等。本文在介绍 Comet 架构的基础上,详细说明了如何利用 WebSphere Application Server Feature Pack for Web 2.0 和 Dojo 来开发基于 Comet 的应用程序,并给出了两个具体的实例。

Comet 及相关技术简介

Comet 指的是一种 Web 应用程序的架构。在这种架构中,客户端程序(通常是浏览器)不需要显式的向服务器端发出请求,服务器端会在其数据发生变化的时候主动的将数据异步的发送给客户端,从而使得客户端能够及时的更新用户界面以反映服务器端数据的变化。

这种架构既不同于传统的 Web 应用,也不同于新兴的 Ajax 应用。在传统的 Web 应用中,通常是客户端主动的发出请求,服务器端生成整个 HTML 页面交给客户端去处理。在 Ajax 应用中,同样是客户端主动的发出请求,只是服务器通常返回的是 XML 或是 JSON 格式的数据,然后客户端使用这些数据来对页面进行局部更新。Comet 架构非常适合事件驱动的 Web 应用和对交互性和实时性要求很强的应用。这样的应用的例子包括股票交易行情分析、聊天室和 Web 版在线游戏等。

基于 Comet 架构的 Web 应用使用客户端和服务器端之间的 HTTP 长连接来作为数据传输的通道。每当服务器端的数据因为外部的事件而发生改变时,服务器端就能够及时把相关的数据推送给客户端。通常来说,有两种实现长连接的策略:

HTTP 流(HTTP Streaming)

这种情况下,客户端打开一个单一的与服务器端的 HTTP 持久连接。服务器通过此连接把数据发送过来,客户端增量的处理它们。

HTTP 长轮询(HTTP Long Polling)

这种情况下,由客户端向服务器端发出请求并打开一个连接。这个连接只有在收到服务器端的数据之后才会关闭。服务器端发送完数据之后,就立即关闭连接。客户端则马上再打开一个新的连接,等待下一次的数据。
WebSphere Application Server Feature Pack for Web 2.0 简介

WebSphere Application Server Feature Pack for Web 2.0 是 IBM 支持的解决方案,用于在 Websphere Application Server 上创建基于 Ajax 的应用和 mashup。除了 Ajax 开发工具之外,该功能部件包还包含了对服务器端的增强功能,用来支持通用的 Web 2.0 应用模式。该功能部件包提供了对开发 Web 2.0 应用的很多增强。主要有三个方面:Web 2.0 到 SOA 的连接性、Ajax 消息处理和 Ajax 开发工具箱。关于该功能部件包的具体内容,请看 参考资源。该功能部件包有适用于 WebSphere Application Server 和 WebSphere Application Server Community Edition 的不同版本。

Dojox.cometd 简介

Dojo 的创始人 Alex Russell 最开始提出“Comet”这个词。Dojo 基金会提出了 Bayeux 协议用来标准化 Comet 应用中客户端和服务器端之间的通信。关于 Bayeux 协议的具体信息,请看 参考资源。Dojox.cometd 实现了 Bayeux 协议的客户端部分,使用 HTTP 长轮询来作为数据的传输通道。

 

分享到:
评论

相关推荐

    学习笔记 MHT3

    首先,我们关注“实战 Comet 应用程序开发”,Comet是一种使服务器能够主动向客户端推送数据的技术,通过长时间保持HTTP连接来实现。这种技术对于构建实时交互的应用,如聊天室、股票报价或在线游戏等,有着显著的...

    使用nodejs打造comet系统

    - **Node.js**: Node.js以其非阻塞I/O模型和事件驱动架构闻名,非常适合用于构建高性能的网络应用程序,包括Comet系统。 - **WebSocket**: WebSocket协议提供了一个全双工的通信通道,能够实现实时双向数据交换。 - ...

    笔记,3、Netty进阶和实战1

    在IT领域,Netty是一个高性能、异步事件驱动的网络应用程序框架,常用于开发高效的网络服务。本篇笔记将深入探讨Netty在UDP协议上的应用,包括单播和广播的实现,以及服务器推送技术,如短轮询和Comet。 首先,让...

    gwt学习资料和实例项目

    **Java和GWT应用开发.pdf** 这本书籍或文档可能详细介绍了如何使用Java与GWT进行应用程序开发。通常,它会涵盖GWT的基础知识,包括GWT的架构、开发环境的设置、UI组件的使用、事件处理、数据绑定、RPC通信、模块系统...

    Java Web开发入行真功夫 光盘 源代码 下载

    "Java Web开发入行真功夫"这个主题涵盖了从基础到实践的全面学习路径,主要关注Java Web应用程序的开发。下面将详细讨论相关知识点。 首先,Java Web开发基于Java语言,利用Servlet、JSP(JavaServer Pages)、...

    zkoss 技术资料,,我看过。还不错,适于初学者

    ZKoss,简称ZK,是一款基于Java的开源富客户端框架,专为构建现代Web应用程序而设计。这个技术资料包包含两个重要的文档:《zk开发手册3.5.1.chm》和《ZK_Developer's_Guide_开发向导.pdf》,都是ZK初学者非常宝贵的...

    Packt.PHP.Ajax.Cookbook.2011

    这本书的出现旨在帮助开发者们更好地利用这两种技术,提升Web应用程序的交互性和用户体验。Ajax(Asynchronous JavaScript and XML)是前端开发中的核心技术,它允许网页在不重新加载整个页面的情况下与服务器交换...

    ajax in action(中文版)

    9. **高级应用**:最后,书中还会介绍一些Ajax的高级应用,如 Comet 和 WebSockets 技术,这些技术提供了实时的双向通信能力,为开发聊天应用、股票报价系统等实时Web应用提供了可能。 通过阅读《Ajax in Action...

    SD大会精品讲座:利用AJAX/Java 技术建立高流量的即时双向沟通网站

    - **冯彦文**:力可科技创始人,具有丰富的无线通讯应用程序平台与金融资讯传输平台开发经验。曾任多个底层移动通讯应用程序平台的设计与实施工作。在本课程中,他将分享自己在AJAX/Java领域的实战经验和心得。 ###...

    dwr推技术简单案例

    DWR(Direct Web Remoting)是一种Java技术,用于在Web应用程序中实现JavaScript和服务器端Java对象之间的双向通信。这项技术极大地简化了AJAX应用的开发,使得动态更新页面变得更为直观和高效。在这个“dwr推技术...

    php-WebQQBeta2.1源码

    这个项目展示了如何使用PHP技术来构建一个在线聊天应用程序,让用户可以在网页上体验类似于桌面QQ的功能。通过深入分析和理解这个源码,我们可以学习到许多关于PHP、Web交互以及实时通信的关键知识点。 1. **PHP...

Global site tag (gtag.js) - Google Analytics