搭建flex + blazeds 最简单的messaging例子:简易聊天室

2024-04-19 22:38

本文主要是介绍搭建flex + blazeds 最简单的messaging例子:简易聊天室,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

flex + blazeds messaging应用很广泛,比如实时聊天,collaborationapplication。在BlazeDS turnkey (https://www.adobe.com/cfusion/entitlement/index.cfm?e=lc_blazeds)就有一个CollaborationDashboard sample

 

sampleshow how you can use the Message Service to build collaborative applications.To try this sample, open the application in two different browser windows andnotice how selections made in one window are reflected in the other window.

 

下面讲解怎样搭建flex +blazeds最简单的messaging例子:简易聊天室

 

1.     tomcat里创建一个web app (e.g. blazeds),然后把blazeds.war里的东东全部copy到该目录。

2.     修改WEB-INF/flex/messaging-config.xml (蓝色和红色部分是添加的,虽然不知道为什么要添加,因为不加也行,稍后研究)

<?xml version="1.0" encoding="UTF-8"?>

<service id="message-service"

   class="flex.messaging.services.MessageService">

   <adapters>

       <adapter-definition id="actionscript" class="flex.messaging.services.messaging.adapters.ActionScriptAdapter" default="true" />

       <adapter-definition id="jms" class="flex.messaging.services.messaging.adapters.JMSAdapter"/>

   </adapters>

   <default-channels>

               <channel ref="my-streaming-amf"/>

       <channel ref="my-polling-amf"/>

   </default-channels>

   <destination id="chat"/>

</service>

 

3.     WEB-INF/flex/services-config.xml里的<channels>里添加下列代码

<channel-definition id="my-streaming-amf" class="mx.messaging.channels.StreamingAMFChannel">

        <endpoint class="flex.messaging.endpoints.StreamingAMFEndpoint" url="http://{server.name}:{server.port}/{context.root}/messagebroker/streamingamf"/>

</channel-definition>


4. restart tomcat


5.     创建flexproject (link to this blazeds web app)mxml file的代码如下

<?xml version="1.0"?> 

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" 

                               creationComplete="subscribe();" height="432" width="686"> 

        <mx:Script> 

                <![CDATA[ 

                       import mx.messaging.messages.*; 

                       import mx.messaging.events.*; 

                       

                       private function subscribe():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="chat"/> 

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

       

        <mx:TextArea id="ta" width="640" height="231" x="13.5" y="37"/> 

        <mx:TextInput id="userName" x="100" y="275" width="200" text="Eric Han"/> 

        <mx:TextInput id="msg" width="546" x="98" y="318" /> 

        <mx:Label text="UserName" x="10" y="275" width="80"/> 

        <mx:Label text="message" x="10" y="320" width="80"/> 

       

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

</mx:Application>

这篇关于搭建flex + blazeds 最简单的messaging例子:简易聊天室的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/918629

相关文章

C++初始化数组的几种常见方法(简单易懂)

《C++初始化数组的几种常见方法(简单易懂)》本文介绍了C++中数组的初始化方法,包括一维数组和二维数组的初始化,以及用new动态初始化数组,在C++11及以上版本中,还提供了使用std::array... 目录1、初始化一维数组1.1、使用列表初始化(推荐方式)1.2、初始化部分列表1.3、使用std::

redis群集简单部署过程

《redis群集简单部署过程》文章介绍了Redis,一个高性能的键值存储系统,其支持多种数据结构和命令,它还讨论了Redis的服务器端架构、数据存储和获取、协议和命令、高可用性方案、缓存机制以及监控和... 目录Redis介绍1. 基本概念2. 服务器端3. 存储和获取数据4. 协议和命令5. 高可用性6.

SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤

《SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤》本文主要介绍了SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤,文中通过示例代码介绍的非常详... 目录 目标 步骤 1:确保 ProxySQL 和 mysql 主从同步已正确配置ProxySQL 的

MyBatis-Flex BaseMapper的接口基本用法小结

《MyBatis-FlexBaseMapper的接口基本用法小结》本文主要介绍了MyBatis-FlexBaseMapper的接口基本用法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具... 目录MyBATis-Flex简单介绍特性基础方法INSERT① insert② insertSelec

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加

JAVA调用Deepseek的api完成基本对话简单代码示例

《JAVA调用Deepseek的api完成基本对话简单代码示例》:本文主要介绍JAVA调用Deepseek的api完成基本对话的相关资料,文中详细讲解了如何获取DeepSeekAPI密钥、添加H... 获取API密钥首先,从DeepSeek平台获取API密钥,用于身份验证。添加HTTP客户端依赖使用Jav

本地搭建DeepSeek-R1、WebUI的完整过程及访问

《本地搭建DeepSeek-R1、WebUI的完整过程及访问》:本文主要介绍本地搭建DeepSeek-R1、WebUI的完整过程及访问的相关资料,DeepSeek-R1是一个开源的人工智能平台,主... 目录背景       搭建准备基础概念搭建过程访问对话测试总结背景       最近几年,人工智能技术

python实现简易SSL的项目实践

《python实现简易SSL的项目实践》本文主要介绍了python实现简易SSL的项目实践,包括CA.py、server.py和client.py三个模块,文中通过示例代码介绍的非常详细,对大家的学习... 目录运行环境运行前准备程序实现与流程说明运行截图代码CA.pyclient.pyserver.py参

使用PyQt实现简易文本编辑器

《使用PyQt实现简易文本编辑器》这篇文章主要为大家详细介绍了如何使用PyQt5框架构建一个简单的文本编辑器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录分析主窗口类 (MyWindow)菜单操作语法高亮 (SyntaxHighlighter)运行程序主要组件代码图示分析实现

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加