在IT行业中,Flex和BlazDS是两种关键的技术,用于构建富互联网应用程序(RIA)。本文主要探讨如何利用Flex和BlazDS实现服务器向客户端的数据推送功能,尤其适用于实时性强的应用,如股票、外汇和期货市场的实时行情显示。 BlazDS是Adobe提供的一个开源服务器端解决方案,它允许Flex客户端与Java后端进行双向通信。BlazDS支持多种消息通道,包括HTTP、HTTP Streaming和WebSocket等。在本案例中,我们将关注StreamingAMFChannel,这是一个能够实现实时数据推送的高效通道。 我们需要准备开发环境。作者使用的是Eclipse WTP(Web Tools Platform)集成Flex 3构建环境,并且需要安装BlazDS的相关组件。这里提到的BlazDS版本是3-0-0-544,通常只需要下载`blazeds.war`文件部署到应用服务器上。 接下来,创建一个新的Flex项目。在Flex Development视图下,创建一个名为`flex-blazeds`的新项目,然后在Java开发视图中创建对应的Java包和类。`Tick.java`类代表一个实时行情数据,包含了如买卖价格、中位价、时间戳和序列号等字段。这样,我们可以方便地存储和传输行情数据。 为了实现数据推送,我们需要创建一个Servlet,即`TickCacheServlet.java`。这个Servlet将负责处理服务器端的数据更新,并通过BlazDS的StreamingAMFChannel将新数据推送到客户端。在Servlet中,可以创建`AsyncMessage`对象,将新的`Tick`实例打包成消息,然后通过MessageBroker发送出去。`UUIDUtils`用于生成唯一的消息ID,确保消息的正确传递。 在Flex客户端,我们需要配置MessageBroker以便接收来自服务器的推送数据。这通常涉及到在Flex配置文件(如services-config.xml)中定义StreamingAMFChannel,并设置其目的地。客户端代码会监听这些目的地,当有新数据到来时,触发相应的事件处理函数。 总结来说,通过Flex和BlazDS的结合,开发者可以实现高效的服务器向客户端的数据推送,这对于实时性要求高的应用尤为重要。这种方式避免了传统的客户端定时轮询,减少了网络开销,提高了用户体验。BlazDS的StreamingAMFChannel提供了低延迟、高吞吐量的通信机制,使得实时数据推送变得简单而可靠。在实际项目中,开发者还可以根据需求进行性能优化和安全控制,以满足各种复杂场景的需求。
- 不吃口袋鱼2013-01-25flex我还在学习 ,这实例对我学习帮助很大
- spiritwp12012-12-12不错 可以用 如果是as写的就更好了
- oLiangLu2013-01-24呃,居然是文档
- linwenbin6102011-10-25我想问下楼主这个推送是与Spring结合的么?
- 粉丝: 0
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助