目录结构:
FlexMessage.mxml:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" fontSize="13">
<mx:Script>
<![CDATA[
import mx.messaging.events.MessageEvent;
import mx.messaging.messages.AsyncMessage;
private function onToggleButtonClicked():void{
if(toggleButton.label=="subscribe"){
consumer.subscribe(); //订阅消息
toggleButton.label="unsubscribe";
}else{
consumer.unsubscribe(); //取消订阅
toggleButton.label="subscribe";
}
}
private function sendChartInfo():void{
var message:AsyncMessage=new AsyncMessage;
message.body={msg:chartInput.text,sender:txtme.text,receiver:txtto.text};
if(consumer.subscribed){
producer.send(message);//发布消息
}
//if (txtto.text != null && txtto.text != ""){
// chartField.text += "您对"+txtto.text+"说:" + chartInput.text + "\n";
//}
chartInput.text="";
}
private function messageHandler(event:MessageEvent):void{
var chat:Object = event.message.body;
//if ((chat.receiver != null && chat.receiver != "") && (chat.receiver == txtme.text)){
// chartField.text += chat.sender+"对您说:"+chat.msg+"\n";
//} else if (txtto.text == null || txtto.text == "" && chat.sender != txtme.text){
chartField.text += chat.sender+"对大家说:"+chat.msg+"\n";
//}
}
]]>
</mx:Script>
<mx:Button id="toggleButton" label="subscribe" x="454" y="40" width="125" click="onToggleButtonClicked()"/>
<mx:TextArea id="chartField" x="220" y="88" width="359" height="144"/>
<mx:TextInput id="chartInput" x="220" y="255" width="290"/>
<mx:Button x="518" y="255" label="send" click="sendChartInfo()"/>
<mx:Producer id="producer" destination="ChartDestination"/>
<mx:Consumer id="consumer" destination="ChartDestination" message="messageHandler(event)"/>
<mx:TextInput x="266" y="289" width="76" id="txtme"/>
<mx:Text x="220" y="292" text="自己:
" width="42" height="24" fontSize="12"/>
<mx:TextInput x="266" y="323" width="76" height="26" id="txtto"/>
<mx:Label x="220" y="325" text="对方:"/>
</mx:Application>
messaging-config.xml:
<destination id="ChartDestination" channels="my-polling-amf"/>
services-config.xml:
<channel-definition id="my-polling-amf" class="mx.messaging.channels.AMFChannel">
<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amfpolling" class="flex.messaging.endpoints.AMFEndpoint"/>
<properties>
<polling-enabled>true</polling-enabled>
<!-- 表示1秒钟轮询一次 -->
<polling-interval-seconds>1</polling-interval-seconds>
</properties>
</channel-definition>
相关推荐
在这个特定的场景中,"Flex实现的xmpp消息发送接收"是指使用Flex技术来实现在Android、iOS等移动设备以及IE浏览器上的即时通讯功能。 XMPP(Extensible Messaging and Presence Protocol)是一种开放标准的协议,...
在Flex消息服务中,发送消息的应用被称为生产者(producer),而接收消息的应用被称为消费者(consumer)。 消息接收点(message destination)是负责数据转换为消息,以及将消息转换为消费者可以使用的数据格式的...
在Flex端订阅消息的核心在于使用 BlazeDS 的 MessageBroker 服务,它提供了AMF(Action Message Format)通道,使得Flex客户端可以与服务器端的业务逻辑进行高效的数据交换。下面我们将深入探讨如何实现这个功能。 ...
在实际应用中,开发人员需要在Java服务器端创建处理推送逻辑的服务,并在Flex客户端使用AMFChannel与服务器建立连接,订阅感兴趣的数据通道。当服务器端有新数据时,会通过已建立的连接将数据推送到客户端,客户端...
本话题聚焦于基于FLEX和MINA的消息推送核心技术,这两种技术在构建高效、可靠的网络通信系统中发挥着重要作用。 FLEX是一种开源的富互联网应用程序(Rich Internet Application,RIA)开发框架,主要由Adobe公司...
3. **ActionScript编程**:在Flex中,我们需要编写ActionScript代码来处理用户交互,例如监听按钮点击事件,调用服务器上的聊天服务发送消息,以及接收新消息并更新UI。 4. **PHP后端服务**:在服务器端,通过...
在本场景中,我们将探讨如何利用BlazeDS和Flex实现服务器消息推送。 首先,让我们了解BlazeDS的基本概念。BlazeDS是Adobe Flex与Java后端进行数据交互的一个中间件,它支持AMF(Action Message Format)协议,能够...
示例代码中使用的`mx:Application`、`mx:Script`、`mx:Producer`、`mx:Consumer`等都是Flex MX组件,它们是Adobe Flex框架的一部分,用于构建富互联网应用程序(RIA)。 通过以上知识点,我们可以理解Flex如何实现...
当我们谈论在Flex中使用Web服务时,我们通常指的是Adobe Flex,这是一个用于构建富互联网应用程序(RIA)的开源框架,它主要使用ActionScript编程语言。这篇博客文章的标题是“flex as中如何使用webservice”,我们...
6. **组件使用**:在Flex中,有许多预定义的UI组件,如TextInput用于输入文字,Button用于发送消息,以及可能的List或DataGrid显示聊天记录。理解如何自定义和使用这些组件是必要的。 7. **事件处理**:在Flex中,...
Remoting允许开发者在Flex界面中使用Java服务,简化了客户端与服务器的交互。 5. **消息传递**: BlazeDS集成了Apache ActiveMQ,支持发布/订阅(Pub/Sub)的消息模式,使得多个客户端可以订阅同一主题并接收实时...
在Flex中,Parsley通过消息传递和选择器机制来实现依赖注入。消息传递是Parsley的一个重要特性,它允许组件之间通过发送和监听特定的消息来进行通信,而不是直接引用彼此。这降低了组件间的耦合度,增强了代码的可...
压缩包中的FlexBlazedsJMSDemo可能是一个示例项目,展示了如何在Flex应用中使用BlazeDS与JMS服务进行交互。此项目可能包括了Flex前端的源代码以及配置文件,展示了如何创建消息生产者(发布消息)和消费者(订阅并...
在IT行业中,Flex是一种用于构建富互联网应用程序(RIA)的技术,它基于ActionScript和Flash Player。AMF(Action Message Format)是Adobe开发的一种二进制数据交换格式,主要用于提高Flex和服务器之间的通信效率。...
这个压缩包主要是为了演示如何在Flex前端应用中实现与后端服务的数据交互,特别是利用BlazeDS进行实时数据推送以及消息订阅的功能。以下是关于这些技术及其整合的详细解释: 1. **Flex**:Flex是一种用于构建富...
- **C#与AMF**:在C#中,可以使用第三方库如AMF.NET或Rediska.NET来实现AMF通信协议,使得C#服务器能够理解并处理Flex客户端发送的AMF消息。 - **服务端接口设计**:为了与Flex的RemoteObject通信,C#服务器需要...
在实际开发中,还需要了解 BlazeDS 或 LCDS(LiveCycle Data Services)这样的服务器端组件,它们为Flex提供服务发布、数据管理和事件驱动的架构。同时,熟悉MXML和ActionScript编程语言也是必不可少的,因为它们是...
在本项目中,“Flex实现天气预报服务”指的是利用Flex的技术来创建一个应用,该应用能够通过调用外部的Web服务接口获取并显示天气预报信息。 Flex中的WebService组件是用于与SOAP(Simple Object Access Protocol)...
通过查看和学习这些文件,你可以深入了解如何在Flex中实现类似QQ的弹出消息功能,包括Flex组件的使用、动画效果的实现以及事件处理机制。通过实践和修改代码,你将能更好地掌握Flex开发技巧,并能够适应不同的项目...