ActionScript 3.0 XMLSocket 联网程序通讯方法
actionscript吧
全部回复
仅看楼主
level 8
自在满愿 楼主
.
客户端
舞台内容如下
.
.
F9 动作面板代码如下
.
import flash.net.XMLSocket;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.events.DataEvent;
import flash.xml.XMLNode;
var myxmlsocket: XMLSocket = new XMLSocket();
var len:int = 0;
bt.addEventListener(MouseEvent.CLICK, dj);
function dj(e: MouseEvent):void
{
myxmlsocket.connect("127.0.0.1", 9339);
myxmlsocket.addEventListener(Event.CONNECT, con);
myxmlsocket.addEventListener(DataEvent.DATA, data);
}
function con(e: Event):void
{
var myxml:XML = new XML("<?xml version='1.0' encoding='UTF-8'?><root><username>aaa</username><password>888888</password><username>aaa</username><password>888888</password></root>");
len = myxml.length() + myxml.username.length() + myxml.password.length();
if (len>3)
{
len = 3;
}
myxmlsocket.send(myxml);
}
function data(e: DataEvent):void
{
var mystr:String = e.data.substr(len);
var myxml:XML = new XML(mystr);
txt.text = myxml.username[0] + "," + myxml.password[0];
}
.
服务端(转发客户端传过来的数据)
.
import flash.net.ServerSocket;
import flash.net.Socket;
var socket:Socket;
System.useCodePage = true;
var ss: ServerSocket = new ServerSocket();
ss.bind(9339, "127.0.0.1");
ss.addEventListener(ServerSocketConnectEvent.CONNECT, onConnect);
ss.listen();
function onConnect(event: ServerSocketConnectEvent):void
{
socket = event.socket;
socket.addEventListener(ProgressEvent.SOCKET_DATA, onClientSocketData);
}
function onClientSocketData(e: ProgressEvent):void
{
var buffer: ByteArray = new ByteArray();
socket.readBytes(buffer, 0, socket.bytesAvailable);
trace("Received: " + buffer.toString());
socket.writeObject(buffer);
socket.flush();
}
.
服务端发布 .exe 运行 服务端 exe 再运行 客户端
.
运行效果
.
.
客户端发送数据到服务器 服务器转回
.
2025年04月16日 12点04分 1
1