<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
fontSize="12" creationComplete="initApp();" >
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import flash.net.Socket;
import flash.utils.ByteArray;
import flash.events.KeyboardEvent;
//import flash.system.Security;
private var socket:Socket=new Socket();
internal function readConf():void
{
// var host:String = client_para.lastResult.SocketClient.host;
}
internal function initApp():void
{
// Security.loadPolicyFile("http://192.168.12.15:10000/TestSocket/crossdomain.xml");
/// Alert(host);
//var port:int = client_para.lastResult.SocketClient.port;
//Alert(port);
myInput.addEventListener(KeyboardEvent.KEY_DOWN,sendMessageUseEnterKey);
socket.connect("192.168.12.15",10025);
socket.addEventListener(Event.CONNECT,funConnect);
socket.addEventListener(Event.CLOSE,funClose);
socket.addEventListener(ProgressEvent.SOCKET_DATA,funSocket);
}
internal function funConnect(event:Event):void
{
myText.text+="连接已建立 \n";
}
internal function funClose(event:Event):void
{
myText.text+="连接已关闭 \n";
}
internal function sendMessage(msg:String):void
{
var message:ByteArray=new ByteArray();
message.writeUTFBytes(msg+"\n");
socket.writeBytes(message);
socket.flush();
myInput.text="";
}
internal function funSocket(event:ProgressEvent):void
{
var msg:String="";
while(socket.bytesAvailable)
{
msg+=socket.readMultiByte(socket.bytesAvailable,"utf8");
var arr:Array=msg.split('\n');
for(var i:int=0;i<arr.length;i++)
{
if(arr[i].length>1)
{
var myPattern:RegExp=/\r/;
arr[i]=arr[i].replace(myPattern,'');
myText.text+=arr[i]+"\n";
}
}
myText.verticalScrollPosition = myText.maxVerticalScrollPosition;//滚动到最下面
}
}
private function sendMessageUseEnterKey(evt:KeyboardEvent):void{
if(evt.keyCode==13){
sendMessage(myName.text+':'+myInput.text);
}
}
]]>
</mx:Script>
<!--<mx:HTTPService id="client_para" url="conf.xml" useProxy="false"/>-->
<mx:Panel width="631.5" height="423" horizontalCenter="0" verticalCenter="3.5" layout="absolute" verticalAlign="middle" horizontalAlign="center">
<mx:TextArea y="42" width="566" height="247" id="myText" horizontalCenter="0"/>
<mx:TextInput x="23" y="322" width="486.75" id="myInput"/>
<mx:Button label="Send" id="myBtn" click="sendMessage(myName.text+':'+myInput.text)" x="530" y="323"/>
<mx:TextInput width="566" text="Name" id="myName" verticalCenter="-169.5" horizontalCenter="0"/>
</mx:Panel>
</mx:Application>
责任编辑:小草