用Flex进行Socket通信示例代码:
//全局用的域名和端口
[Bindable]public var address:String = "localhost";
[Bindable]public var port:int = 8899;
[Bindable]public var socket:Socket = new Socket(address, port);
public function init(event:FlexEvent){
//调用后台java开始函数
// javaService.sysStart();
//成功连接状态事件
socket.addEventListener(Event.CONNECT,function connFun(e:Event):void{
// Alert.show("Connect to server success...");
});
//连接中断事件
socket.addEventListener(Event.CLOSE,function closeFun(e:Event):void{
// Alert.show("Connect to server closed...");
});
//连接异常事件
socket.addEventListener(IOErrorEvent.IO_ERROR,function closeFun(e:IOErrorEvent):void{
// Alert.show("Connect exception ..."+e.toString());
});
//服务器信息事件
socket.addEventListener(ProgressEvent.SOCKET_DATA,function dataFun(e:ProgressEvent):void{
var getMsg:ByteArray = new ByteArray;
socket.readBytes(getMsg);
// Alert.show(getMsg.toString());
if(getMsg.toString() == "STOP"){
page3.finish();
}
});
}
在用到Socket发送数据的地方代码如下:
var message:ByteArray = new ByteArray();
message.writeUTFBytes("yourmessage");
this.parentDocument.socket.writeBytes(message);
this.parentDocument.socket.flush();