<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
minWidth="500" minHeight="400"
width="500" height="400"
creationComplete="application1_creationCompleteHandler(event)"
viewSourceURL="srcview/index.html">
<s:layout>
<s:VerticalLayout />
</s:layout>
<fx:Script>
<![CDATA[
import helpers.DemoHelper;
import mx.events.FlexEvent;
import netgroup.NetGroupEvent;
import netgroup.NetGroupManager;
[Bindable]protected var lanGroupMgr:NetGroupManager;
protected function application1_creationCompleteHandler(event:FlexEvent):void
{
lanGroupMgr = new NetGroupManager();
lanGroupMgr.addEventListener(NetGroupEvent.POSTING, onMessagePosted);
}
protected function onMessagePosted(event:NetGroupEvent):void
{
var message:Object = event.message;
console.appendText(DemoHelper.timestamp+' '+ message.contents +'\n');
}
protected function btnConnect_clickHandler(event:MouseEvent):void
{
lanGroupMgr.connect();
}
protected function btnSend_clickHandler(event:MouseEvent):void
{
var msg:Object = {};
msg.contents = inputMsg.text;
lanGroupMgr.sendMessage('chat', msg);
callLater(resetInput);
}
private function resetInput():void
{
inputMsg.text = '';
}
]]>
</fx:Script>
<fx:Declarations/>
<s:HGroup>
<s:Button id="btnConnect"
label="connect"
click="btnConnect_clickHandler(event)"
visible="{!lanGroupMgr.connected}"
/>
<s:Label text="{lanGroupMgr.connectionState}"/>
<s:Label text="group joined" visible="{lanGroupMgr.joinedGroup}"/>
</s:HGroup>
<s:HGroup visible="{lanGroupMgr.joinedGroup}">
<s:Label text="Neighbor count :" />
<s:Label text="{lanGroupMgr.neighborCount}"/>
</s:HGroup>
<s:HGroup>
<s:TextInput id="inputMsg" />
<s:Button id="btnSend"
enabled="{inputMsg.text != ''}"
label="send"
click="btnSend_clickHandler(event)"/>
</s:HGroup>
<s:TextArea id="console"/>
</s:Application>