计算机二级辅导:FlexSocket与Java通讯客户端写法
发布时间:2010/3/13 9:32:42 来源:城市学习网 编辑:MOON
?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;iarr.length;i++)
{
if(arr[i].length1)
{
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.keyCode13){
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
: