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

LCDS:Messaging Service 入门 example

    博客分类:
  • lcds
阅读更多

基础知识http://keren.iteye.com/blog/479000

 

    Message Service 提供发布(publish) /订阅(subscribe) 机制允许Flex 应用程序发布消息、订阅消息终端(messaging destination),从而实现数据的实时推动协作传送

  消息终端在messaging-config.xml配置,其中频道(channel)是其关键元素,它用来实现客户端和服务器端交换数据。使用BlazeDS,消息终端通常用作streaming 频道或者polling 频道。

  使用streaming频道,服务器端会一直响应 HTTP请求直到该频道连接被关闭,它允许服务器向客户端不断传送大量的数据 。因为HTTP 连接是独一无二的,这实现数据的双向传送,每个streaming AMF或者HTTP频道事实上需要两个浏览器 HTTP连接,一个连接需要不断处理服务器端与频道紧密相关的客户端的响应。另外需要一个短暂连接,只有当数据需要传送到服务器时,它才脱离浏览器连接池;当短暂连接不再需要时,它立即被释放回浏览器连接池。

  polling频道可以通过简单的时间间隔 或者使用服务器等待来配置,如果数据不马上可用 (长轮循)的话。另外,每次轮循响应完成请求。默认下浏览器HTTP 1.1的连接是持续的,浏览器轮循已有的连接,发送并发的轮循请求,以此来减轻轮循的开销。

  当需要准实时通信 时,streaming 频道是最好选择。

 

Messaging Service可以让 某个客户端其他客户端 之间 发送接收 信息。

 

1. 在“services-config.xml ”中添加以下内容:(记住channel 名字为amfpoll ,后面会用到)

设置polling频道的间隔 是1秒钟,即客户端每隔1秒钟就会向服务器请求这个消息。

使用polling频道是客户端获取更新最简单的途径

 

<channel-definition id="my-amf-poll" class="mx.messaging.channels.AMFChannel">
	<endpoint
		url="http://{server.name}:{server.port}/{context.root}/messagebroker/amfpoll"
		class="flex.messaging.endpoints.AMFEndpoint"/>
	<properties>
		<polling-enabled>true</polling-enabled>
		<polling-interval-seconds>1</polling-interval-seconds>
	</properties>
</channel-definition>
 

2. 在“messaging-config.xml ”中添加以下内容:

 

<destination id="MessagingDestination" channels="my-amf-poll"/>
 

3. 建立一个mxml:(需手动建立channel

Flex客户端使用 Producer 组件来发送 一个消息到服务器

  • 创建 AsyncMessage 类的对象,设置该对象的 body 属性
  • 调用 Producer.send() 方法进行发送

使用 Consumer 组件接收 消息

  • 使用 Consumer.subscribe () 来订阅 消息

 

<?xml version="1.0"?>
<!-- intro\intro_messaging.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
	width="100%" height="100%"
	creationComplete="consumer.subscribe();">
	
	<mx:Script>
	<![CDATA[
		import mx.messaging.events.MessageFaultEvent;
		import mx.messaging.events.MessageEvent;
		import mx.messaging.messages.AsyncMessage;
		import mx.messaging.Producer;
		import mx.messaging.Consumer;
		// Send the message in response to a Button click.
		private function sendMessage():void {
			var msg:AsyncMessage = new AsyncMessage();
			msg.body = "Foo";
			producer.send(msg);
		}
		// Handle the received message.
		private function messageHandler(event:MessageEvent):void {
			ta.text += "Consumer received message: "+ event.message.body + "\n";
		}
		// Handle a message fault.
		private function faultHandler(event:MessageFaultEvent):void {
			ta.text += "Received fault: " + event.faultString + "\n";
		}
	]]>
	</mx:Script>

	<!-- 设置channel为amfpoll -->
	<mx:AMFChannel id="myamf"
				   uri="/ptp/messagebroker/amfpoll"/>
	<mx:ChannelSet id="channelSet"
				   channels="{[myamf]}"/>
	
	<mx:Producer id="producer" channelSet="{channelSet}"
		destination="MessagingDestination"
		fault="faultHandler(event);"/>
		
	<mx:Consumer id="consumer" channelSet="{channelSet}"
		destination="MessagingDestination"
		fault="faultHandler(event);"
		message="messageHandler(event);"/>
		
	<mx:Button label="Send" click="sendMessage();"/>
	
	<mx:TextArea id="ta" width="100%" height="100%"/>

</mx:Application>
2
0
分享到:
评论

相关推荐

    FLEX LCDS 经典入门

    3. LCDS:提供Flex和Java之间的数据服务。 4. Tomcat 5或更高版本:作为Web应用服务器运行Flex项目。 入门教程: 创建Flex LCDS项目: 1. 打开FlexBuilder3,选择"File -&gt; new -&gt; Flex Project"。 2. 在向导界面1...

    Flex+LCDS+Java+入门教程

    Flex、LCDS(LiveCycle Data Services...这个入门教程将引导你逐步掌握Flex、LCDS和Java的综合运用,为开发高质量的RIA应用打下坚实的基础。通过深入学习和实践,你将能够构建出功能强大、用户体验优秀的Web应用程序。

    Flex + LCDS + Java 入门教程

    - LCDS:提供数据服务。 - Tomcat 5 或更高版本:作为应用服务器。 **5. 入门教程** **步骤1:创建Flex LCDS工程** - 在Eclipse中,通过`File -&gt; new -&gt; Flex Project`创建新项目。 - 选择Java源代码的根目录,确保...

    Flex + LCDS + Java

    4. LCDS:LiveCycle Data Services的安装包。 5. Tomcat 5或更高版本:一个流行的Java应用服务器。 安装好这些工具后,可以开始创建Flex + LCDS项目: 1. 新建Flex LCDS工程:在Eclipse中,选择File -&gt; New -&gt; ...

    Flex + LCDS + Java 入门教程.pdf

    ### Flex + LCDS + Java 入门教程精要 #### 引言 随着技术的发展,Flex、LCDS以及Java成为了构建高效、交互性强的应用程序的重要工具。本文将深入解析Flex + LCDS + Java的核心概念与实践技巧,为初学者提供一个...

    Flex+LCDS+JAVA入门

    Flex+LCDS+JAVA入门教程主要涵盖了三个关键的技术领域,它们分别是Adobe Flex、LCDS(LiveCycle Data Services)以及Java。这些技术结合在一起,能够构建高效、交互性强的富互联网应用程序(RIA)。以下是对这三个...

    Flex+LCDS+Java入门教程+配置

    Flex+LCDS+Java入门教程,如何使用MyEclips进行配置

    Flex + LCDS + Java 入门教程.doc

    LCDS,全称LiveCycle Data Services,原名Flex Data Service,是Adobe提供的一个企业级服务,用于连接Flex应用与Java或ColdFusion后端。LCDS提供了许多高级特性,如Java对象到Flex对象的映射、实时消息协议(RTMP)...

Global site tag (gtag.js) - Google Analytics