Flex的Socket

以前提到Flex建立Socket的时候要收发一套安全内容,当时是根据安全内容,用Python模拟Flex,与Java通信。

现在禹同学提供了一个Flex的代码,记录一下。

 

 

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
	<mx:Script>
		<![CDATA[
			import mx.controls.Alert;
			import flash.net.Socket;
			
			private var socket:XMLSocket = new XMLSocket();
			
			internal function init():void{
				socket.addEventListener(Event.CLOSE,closehandler);
				socket.addEventListener(Event.CONNECT,connectHandle);
				socket.addEventListener(IOErrorEvent.IO_ERROR,ioErrorHandle);
				socket.addEventListener(DataEvent.DATA,dataHandle);
				socket.addEventListener(SecurityErrorEvent.SECURITY_ERROR,securityHandle);
			}
			
			internal function closehandler(evt:Event):void{
				Alert.show("连接关闭");
//				trace("连接关闭");
			}
			internal function connectHandle(evt:Event):void{
				Alert.show("连接建立");
//				trace("连接建立");
			}
			internal function ioErrorHandle(evt:IOErrorEvent):void{
//				trace("io异常");
			}
			internal function securityHandle(evt:SecurityErrorEvent):void{
//				trace("安全异常");
			}
			internal function dataHandle(evt:DataEvent):void{
				var response:XML = new XML(evt.data);
//				trace(response.toXMLString());
				text1.text = response.toXMLString();
//				while(socket.bytesAvailable){
//					msg += socket.readUTFBytes(socket.bytesAvailable);
//					trace(msg);
//				}
//				var arr:Array = msg.split('\n');
//				for(var i:int = 0 ; i <arr.length;i++){
//					if(arr[i].lenght>1){
//						var myPattern:RegExp = /\r/;
//						arr[i] = arr[i].replace(myPattern,"");
//						trace(arr[i]);
//						Alert.show(arr[i]);
//					}
//				}

			}			
			internal function dosocket():void{
				socket.connect( "127.0.0.1",9099);
				socket.send("<policy-file-request/>");
//				socket.writeUTF("<policy-file-request/>");
			}
			
		]]>
	</mx:Script>
	<mx:Panel width="400" height="300">
		<mx:Button label="connection" click="dosocket()" textAlign="center"/>
		<mx:Spacer/>
		<mx:Spacer/>	
		<mx:Text id="text1"  width="100%" height="50%"/>
	</mx:Panel>
</mx:Application>

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值