level 3
首先,ActionScript3.0提供了LocalConnection对象用于在本地的FLASH对象中进行通信,我们需要创建1个服务端来接收数据,一个客户端来发送数据,那么:
客户端(钥匙程序)(建议所有应用都先开发客户端):
1.首先创建一个LocalConnection对象(废话):
var lcon:LocalConnection = new LocalConnection();
2.然后,我们需要添加一个按钮在舞台上,命名为send_btn(至于Flex自己看着办)
3.然后,再添加一个按钮在舞台上,命名为close_btn(至于Flex自己看着办)
4.现在我们需要为两个按钮分别添加侦听器:
send_btn.addEventListener(MouseEvent.MOUSE_DOWN,fopenit);
close_btn.addEventListener(MouseEvent.MOUSE_DOWN,fcloseit);
5.现在我们需要实现点击send_btn调用服务器的一个函数来实现激活服务端
function fopenit(e:MouseEvent):void
{
lcon.send("LCName","text");
//第一个是连接名,第二个是调用的函数
}
6.然后我们需要实现点击close_btn调用服务器的一个函数来实现锁定服务端
function fcloseit(e:MouseEvent):void
{
lcon.send("LCName","closeit");
}
7.到这里服务端制作完毕,实现了跨进程调用服务端的两个函数的目的
服务端:
1.首先我们还是要创建一个LocalConnection对象(废话):
var lcon:LocalConnection = new LocalConnection();
2.然后设定本地连接名,要跟客户端设定的连接名一样
lcon.connect("LCName");
3.接下来创建一个OBJECT对象用于存储两个回调函数
var client:Object = new Object();
4.为OBJECT对象添加回调函数
client.text = function():void
{
trace("连接成功");
}
client.closeit = function():void
{
trace("钥匙程序锁定服务端")
}
5.指定本地连接对象的回调函数为client对象
lcon.client = client;
6.添加一些事件:
lcon.addEventListener(StatusEvent.STATUS,onStatus);
lcon.addEventListener(AsyncErrorEvent.ASYNC_ERROR,onSyncErr);
function onStatus(e:StatusEvent):void
{
}
function onSyncErr(e:AsyncErrorEvent):void
{
}
到此,服务端完工,本地通信实现。
by YUXUANCHIADM
2011年09月05日 06点09分