ActionScript3.0中的Socket编程基础

来源:互联网 发布:阿里云 五折 编辑:程序博客网 时间:2024/05/22 23:57

所谓socket通常也称作"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求。Socket一般应用于聊天软件(QQ,MSN),音频视频传输以及网络游戏。在ActionScript中,socket通信主要用于网络游戏。
在客户端,需要完成以下的内容:
1.我们需要指定连接服务器的的IP和端口号
2.与服务器进行连接
3.向服务器发送数据
4.监听服务器到达的数据
一个简单的示例代码如下:

var socket:Socket=new Socket();socket.connect(IP,PORT);socket.addEventListener(Event.CONNECT,connect);socket.addEventListener(IOErrorEvent.IO_ERROR,error);socket.addEventListener(ProgressEvent.SOCKET_DATA,socketData);function connect(e:Event):void{trace("连接成功");}function error(e:IOErrorEvent):void{trace("无法连接服务器");}function socketData(e:ProgressEvent){var data:ByteArray=new ByteArray();socket.readBytes(data);var str:String=String(data);trace("读取数据");}function sendData():void{socket.writeUTFBytes("字符串数据");socket.flush();}

在服务器端我们需要处理一下的内容:

1.绑定本地的IP地址和端口2.开始监听客户端的请求3.对客户端的请求进行连接4.维护客户列表

一个简单的示例代码如下:

var socketServer:SocketServer=new SocketServer();socketServer.bind(PORT,IP);socketServer.listen();socketServer.addEventListener(ServerSocketConnectEvent.CONNECT,connect);var client_arr:Array=new Array();function connect(e:ServerSocketConnectEvent):void{var socket:Socket=e.socket as Socket;client_arr.push(socket);socket.addEventListener(ProgressEvent.SOCKET_DATA,read);socket.addEventListener(Event.CLOSE,clientClose);socket.writeUTFBytes("欢迎连接服务器");socket.flush();}function read(e:ProgressEvent):void{var socket:Socket=e.target as Socket;var data:ByteArray=new ByteArray();socket.readBytes(data);var str:String=String(data);}function clientClose(e:Event):void{trace("客户断开连接");}


这样,一个客户端和服务器端的Socket通信就实现了。当然,内部如何对于接收到的数据进行处理,这属于每个应用需要自己去完成的事情。

一个简单的客户端和服务端聊天室的例子可以通过以下链接下载:http://download.csdn.net/detail/u012416063/6388149


原创粉丝点击