`

Flex producer-consumer 模式 示例

    博客分类:
  • flex
阅读更多

flex有两种传输模式 request-response模式和producer-consumer模式。http,webservice,rpc采用前者,消息采用后者。

《blazeDS Developer Guide》中给出了例子,我稍加改造,做了个聊天室。测试显示,这种方式的速度不容乐观。没有加缓冲池,不知道加了会不会能有改善。

 

chatTest.html代码:

<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
creationComplete="logon();" height="432" width="686" borderColor="#141616">
<mx:Script>
<![CDATA[
	import mx.messaging.messages.*;
	import mx.messaging.events.*;
	
	private function logon():void {
		consumer.subscribe();
	}
	private var begintime:Date;
	private var endtime:Date;
	
	private function messageHandler(event: MessageEvent):void {
		ta.text += event.message.body;
		endtime=new Date();
		var elapse:Number=endtime.valueOf()-begintime.valueOf();
		ta.text+=" --耗时:"+elapse+" 毫秒" + "\n";
	}
	private function sendMessage():void {
		var message: AsyncMessage = new AsyncMessage();
		message.body = userName.text + ": " + msg.text;
		producer.send(message);
		msg.text = "";
		begintime=new Date();
	}
]]>
</mx:Script>

<mx:Producer id="producer" destination="marschat"/>
<mx:Consumer id="consumer" destination="marschat" message="messageHandler(event)"/>

<mx:TextArea id="ta" width="640" height="231" x="13.5" y="37" fontSize="12" fontFamily="Times New Roman" color="#DF1500"/>
<mx:TextInput id="userName" x="100" y="275" width="200" fontWeight="bold" text="Eric Han"/>
	<mx:Label text="UserName" x="10" y="275" width="80" color="#EEF5F6" fontWeight="bold"/>
	<mx:Label text="message" x="10" y="320" width="80" color="#EEF5F6" fontWeight="bold"/>
	<mx:TextInput id="msg" width="546" x="98" y="318" />

<mx:Button label="Send" click="sendMessage();" x="318.5" y="377"/>
</mx:Application>

 

messaging-config.xml配置文件加入:

<destination id="marschat" channels="my-polling-amf" />

 

启动服务器(我的是tomcat),输入地址:http://localhost:8888/GoNow/chatTest.html

 

分享到:
评论
2 楼 marshan 2010-09-20  
我有快2年没搞flex了,你去看看《blazeDS Developer Guide》这本书吧。
1 楼 limingnihao 2010-09-17  
Java端代码怎么写啊

相关推荐

    eureka-producer-consumer.zip

    "eureka-consumer"项目是服务消费者的示例。同样基于Spring Boot,它也包含了Eureka客户端,通过Eureka Server发现并调用服务提供者的服务。消费者通常会根据业务需求,通过HTTP请求调用服务提供者提供的API。 4. ...

    spring-kafka-producer-consumer-example_java_springboot_kafka_

    标题中的“spring-kafka-producer-consumer-example”表明这是一个关于Spring Boot应用,它使用了Apache Kafka作为消息中间件,展示了生产者(producer)和消费者(consumer)的实现。描述中的“Simple application ...

    producer-consumer问题的分析和讨论

    3. `Producer.java`: 这个文件可能包含了生产者线程的实现。生产者线程会不断地生成数据(在这种情况下可能是事件对象),然后调用`EventStorage`的`put()`方法将数据放入队列。为了防止无限制地生成数据导致队列...

    eureka-producer-consumer.rar

    Eureka采用了客户端-服务器的架构模式,其中Eureka Server作为服务注册与发现的核心,而服务提供者和服务消费者则通过Eureka Client与Eureka Server交互。 2. **服务注册** 当一个服务启动时,它会将自己注册到...

    pentaho-kafka-consumer.zip

    在标题"pentaho-kafka-consumer.zip"中,我们看到的是一个专门为Pentaho Kettle定制的Kafka消费者插件的压缩包。 这个压缩包的描述提到了如何在Pentaho环境中安装和使用这个插件。首先,你需要在你的Pentaho Kettle...

    producer-consumer-model:生产者-消费者模型

    9. **示例代码**: ```java import java.util.concurrent.ArrayBlockingQueue; public class ProducerConsumerExample { public static void main(String[] args) { ArrayBlockingQueue&lt;Integer&gt; queue = new ...

    kafka-producer-consumer

    在Kafka-producer-consumer项目中,"kafka-producer-consumer-main"可能是一个包含启动生产者和消费者示例的主程序。生产者会将消息发布到一个或多个主题,而消费者则订阅这些主题并处理接收到的消息。这种交互方式...

    Flex基于Producer和Consumer方式的简易消息推送机制

    示例代码中使用的`mx:Application`、`mx:Script`、`mx:Producer`、`mx:Consumer`等都是Flex MX组件,它们是Adobe Flex框架的一部分,用于构建富互联网应用程序(RIA)。 通过以上知识点,我们可以理解Flex如何实现...

    生产者消费者问题源代码(Producer-consumer problem,PCP),

    在Linux操作系统下用C或C++实现经典同步问题:生产者-消费者问题。 含源代码和文档。 内容: 1.一个大小为10的缓冲区,初始状态为空。 2.2个生产者,随机等待一段时间,往缓冲区中添加数据,若缓冲区已满,等待消费...

    producer-customer.c文件

    利用信号量实现的多线程之间的同步与互斥,详情看博客文章Linux多线程编程(二)---线程之间的同步与互斥进阶实验

    前端开源库-tap-producer-macbre

    **前端开源库-tap-producer-macbre** 在IT领域,前端开发是构建网页和应用程序的重要部分,而开源库则是开发者们共享代码、提高效率的关键工具。`tap-producer-macbre`是一个专为前端开发者设计的开源库,主要用于...

    android-thread-producer-consumer-example:线程之间的ProducerConsumer模型示例

    在讲完Looper,Handler和HandlerThread一章之后,一位学生问我们如何将流数据(从传感器)从后台线程传递回主线程(UI)? 对于此用例, HandlerThread原因如下: 我们的后台线程只是在做一件事:读取传感器数据。...

    SALSA - Scalable and Low Synchronization NUMA-aware Algorithm for Producer-Consumer Pools (spaa049-gidron)-计算机科学

    Algorithm for Producer-Consumer PoolsElad Gidron CS DepartmentTechnion, Haifa, Israel eladgi@cs.technion.ac.ilIdit Keidar EE DepartmentTechnion, Haifa, Israel idish@ee.technion.ac.ilDmitri Perelman ∗...

    PHP-Crawler:用PHP实现Queue-Producer-Consumer Web Crawler的实现

    用PHP实现Queue-Producer-Consumer Web Crawler。通过amphp / parallel依赖项使用多个进程或本机线程来爬网域以获取响应者链接。 / _ \ \_\(_)/_/ _//o|\_ / | @作者:罗伯特·伯恩斯@电子邮件: 安装 使用'...

    java8-producer-consumer

    生产者-消费者模式的 Java 8 变体

    Kafka-Simple-Producer-Consumer:使用Java 8的kafka的生产者和消费者的简单变化

    在"Kafka-Simple-Producer-Consumer-master"这个项目中,可能包含了示例代码,展示了如何使用Java 8编写Kafka的生产者和消费者。这些示例通常会包含以下部分: - 生产者类(ProducerClass.java):创建并配置...

    嵌入式的多线程应用程序设计

    * The classic producer-consumer example. * Illustrates mutexes and conditions. * by Zou jian guo &lt;ah_zou@tom.com&gt; * 2003-12-22 * *************************************************/ #include #...

    amazon-kinesis-video-streams-producer-c

    Amazon Kinesis Video Streams C制作人Amazon Kinesis视频流| 安全的视频摄取以...建造下载要下载,请运行以下命令: git clone --recursive https://github.com/awslabs/amazon-kinesis-video-streams-producer-c.g

    lab-09-producer-consumer

    9号实验室工作 任务 使用生产者-消费者模板实现搜寻器。 爬网程序是一种旨在对Internet页面进行... producer的数量由network_threads命令行network_threads parser_threads , consumer的数量parser_threads参数par

    kafka-producer-consumer:不同类型的卡夫卡生产者

    在 `kafka-producer-consumer-master` 文件夹中,可能包含了这些功能的源代码,包括生产者类、消费者类以及 Avro schema 定义。通过查看源代码,我们可以学习如何在实际项目中集成 Kafka 生产者和消费者,以及如何...

Global site tag (gtag.js) - Google Analytics