Java Socket通信在使用的时候有不少的问题,尤其是在小代码的书写上。下面我们就看看Flash编程的写法,希望大家有编码中找到自己想要的。那么闲话不多说,先来看看Java Socket通信的源代码。
复制
<?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 flash.net.Socket; import mx.controls.Alert; import flash.utils.ByteArray; private var socket:Socket = new Socket();//定义Socket,准备好情书的信封 //初始化程序 internal function initApp():void { socket.addEventListener(Event.CONNECT,funConnect); //监听是否连接 socket.addEventListener(Event.CLOSE,funClose); //监听连接关闭 socket.addEventListener(ProgressEvent.SOCKET_DATA,funSocket); //监听输入流 socket.connect("localhost",1024); //连接服务器 } internal function funSocket(event:ProgressEvent) { var srt:String = socket.readUTF(); loveText.text = loveText.text + "\n 机器人说:" + srt+"\n"; } internal function funConnect(event:Event):void { loveText.text+="\n连接已建立 \n"; } internal function funClose(event:Event):void { loveText.text+="\n连接已关闭 \n"; } internal function sendMessage(msg:String):void//发送数据对应按钮click事件 { var message:ByteArray=new ByteArray();//新建一个ByteArray存放数据 loveText.text+=msg+"\r\n";//在客户端屏幕上输出发送的内容 message.writeUTFBytes(msg +"\r\n");//写入数据,writeUTFBytes方法,以utf-8格式传数据避免中文乱码 socket.writeBytes(message); //写入Socket的缓冲区 socket.flush();//调用flush方法发送信息 loveInput.text="";//清空发言框 } ]]> </mx:Script> <mx:TextArea x="10" y="10" width="703" height="263" id="loveText"/> <mx:TextInput x="10" y="297" width="605" id="loveInput"/> <mx:Button x="648" y="297" label="回复的内容" id="sendBtn" click="sendMessage(loveInput.text)"/> </mx:Application>
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
以上就是对Java Socket通信的详细介绍。希望大家有所收获。
【编辑推荐】