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>
以上就是对Java Socket通信的详细介绍。希望大家有所收获。
【编辑推荐】