AirWithLcdsExample.mxml======================================================================================
<?xml version="1.0" encoding="utf-8"?>
<!--====================================================
* LCDS Messaging Service In AIR Application
* @author : shallaa
* @blog : http://shallaazm.tistory.com
=====================================================-->
<mx:WindowedApplication
xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
creationComplete="creationCompleteHandler()"
>
<mx:Style>
Application
{
fontSize: 12;
}
</mx:Style>
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.messaging.messages.AsyncMessage;
import mx.messaging.events.MessageFaultEvent;
import mx.messaging.events.MessageEvent;
import mx.messaging.channels.AMFChannel;
import mx.messaging.ChannelSet;
private var _channelSet:ChannelSet;
private var _amfChannel:AMFChannel;
/**
* creationComplete handler
* @private
*/
private function creationCompleteHandler():void
{
_channelSet = new ChannelSet();
_amfChannel = new AMFChannel("my-amf", "http://[도메인]:[포트]/[경로..]/messagebroker/amf");
_amfChannel.pollingEnabled = true;
_amfChannel.pollingInterval = 1000;
_channelSet.addChannel(_amfChannel);
producer0.channelSet = _channelSet;
consumer0.channelSet = _channelSet;
consumer0.subscribe();
}
/**
* Button click handler
* @private
*/
private function clickHandler(e:MouseEvent):void
{
var button:Button = e.currentTarget as Button;
switch(button)
{
case button0 : sendMessage(); break;
}
}
/**
* Producer send
* @private
*/
private function sendMessage():void
{
var message:AsyncMessage = new AsyncMessage();
message.body.msg = textInput0.text;
producer0.send(message);
textInput0.text = "";
}
/**
* Consumer MessageEvent handler
* @private
*/
private function messageHandler(e:MessageEvent):void
{
var messge:String = e.message.body.msg;
textArea0.text += messge + "\n";
}
/**
* Consumer MessageFaultEvent handler
* @private
*/
private function faultHandler(e:MessageFaultEvent):void
{
Alert.show(e.message.toString());
}
]]>
</mx:Script>
<mx:Producer id="producer0" destination="airWithLcds" fault="faultHandler(event)"/>
<mx:Consumer id="consumer0" destination="airWithLcds" message="messageHandler(event)" fault="faultHandler(event)"/>
<mx:TextArea id="textArea0" width="100%" height="100%" selectable="false" editable="false"/>
<mx:HBox width="100%">
<mx:TextInput id="textInput0" enter="sendMessage()" width="100%" imeMode="KOREAN"/>
<mx:Button id="button0" label="send" click="clickHandler(event)"/>
</mx:HBox>
</mx:WindowedApplication>
=============================================================================================
services-config.xml==========================================================================
<channels>
<channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">
<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint"/>
<properties>
<polling-enabled>true</polling-enabled>
</properties>
</channel-definition>
</channels>
===============================================================================================
messaging-config.xml==========================================================================
<destination id="airWithLcds">
<channels>
<channel ref="my-amf"/>
</channels>
</destination>
================================================================================================
저처럼 flex builder에서 Server technology 부분 설정 등등이 "성가시다"라고 생각이 드시는
ㅎ