java send message to flex(BlazeDS)(一)

2014-11-24 10:29:12 · 作者: · 浏览: 2


下面是步骤:
1.下载BlazeDS.war解压到%TOMCAT_HOME%/webapps目录下文件名为blazeds内包涵了WEB-INF和META-INF文件夹。
2.写一个flex的客户端 dsMessage.mxml
[html]
< xml version="1.0" encoding="utf-8" >
creationComplete="applicationInit()">

import mx.messaging.ChannelSet;
import mx.messaging.channels.AMFChannel;
import mx.controls.Alert;
import mx.messaging.events.MessageEvent;
import mx.messaging.messages.AsyncMessage;
import mx.messaging.events.MessageFaultEvent;
import mx.messaging.events.MessageAckEvent;
import mx.rpc.events.ResultEvent;
import mx.rpc.events.FaultEvent;

private function applicationInit():void{
var url:String ="http://192.168.1.102/blazeds/"; //随便的以个blazeds应用 如果192.168.1.102改成 localhost后其它的电脑就访问不了。
// var myStreamingAMF:StreamingAMFChannel = new StreamingAMFChannel(url+"my-streaming-amf", url+"messagebroker/streamingamf");
var myPollingAMF:AMFChannel = new AMFChannel(url+"my-polling-amf", url+"messagebroker/amfpolling");
myPollingAMF.pollingEnabled = true;//轮询
myPollingAMF.pollingInterval = 1000;//隔多长时间询问一次 1miao
var channelSet:ChannelSet = new ChannelSet();
// channelSet.addChannel(myStreamingAMF);
channelSet.addChannel(myPollingAMF);

messageProducer.channelSet = channelSet;
messageConsumer.channelSet = channelSet;

messageConsumer.subscribe();
}

private function addMessageToArea(message:String):void
{
chatMessagesArea.text = chatMessagesArea.text + "\n" + message;
}

private function handleResponse(event:MessageEvent):void
{

var message:String = null;
message = event.message.headers["sender"] + ": " + event.message.body;
addMessageToArea(message);
}
private function sendMessage():void
{
var message:AsyncMessage = new AsyncMessage();
message.headers = new Array();
message.headers["sender"] = "sunny";
message.body = chatMessageTxt.text;
messageProducer.send(message);
chatMessageTxt.text = "";
}

private function handleFaults(event:MessageFaultEvent):void
{
Alert.show(event.faultString);
}

private function handleAcknowledgements(event:MessageAckEvent):void
{
trace("done");
}

]]>


destination="mychat"
fault="handleFaults(event);"
acknowledge="handleAcknowledgements(event)"
/>
destination="mychat"
fault="handleFaults(event)"
message="handleResponse(event)"
/>

fontFamily="Georgia" fontSize="19" color="#2194AD"/>

fontFamily="Georgia" fontSize="15" enter