使用LocalConnction在SWF之间通信
2010-06-23 00:35
1016 查看
使用LocalConnection类可以创建一个LocalConnection对象,该对象可以在一个SWF文件中或多个SWF文件间,调用另一个LocalConnection对象中的方法。通过本地连接,可以在SWF文件之间进行通信。LocalConnection对象只能在运行于用一台客户端计算机上的SWF文件之间进行通信,但这些SWF文件可以在不同的应用程序中运行。例如,一个SWF文件在浏览器中运行,而另一个SWF文件放到文件应用程序中运行。
在两个SWF文件之间进行通信,一个SWF文件被称为发送方SWF文件,此文件包含要调用要调用的方法。发送方SWF文件必须包含一个LocalConnection对象和对send()方法的调用。另一个SWf文件被称为接收方SWF文件,此文件为调用方法的文件,接收方SWF文件必须包含另一个LocalConnection对象和对connect()方法的调用。
简单示例:
发送方SWF,在Application创建完成初始化LocalConnection(),并对通信状态做监听,按钮btnSend触发send()方法。
conn.send("LocalConnectionTest", "testHandler", "Hello World!"); LocalConnectionTest为接收方SWF的LocalConnection,testHandler为接收方SWF的一个方法,后面跟的是传递给testHandler的参数。
显示行号 复制代码 ?
// function CopyCode(key){var codeElement=null;var trElements=document.all.tags("ol");var i;for(i=0;i接收方SWF,首先初始化LocalConnection(),通过connect()方法创建名为LocalConnectionTest的LocalConnection(),名称必须是唯一的,粗犷一存在相同的名称创建时候会报参数错误。testHandler()供发送方SWF调用。
显示行号 复制代码 ?
// function CopyCode(key){var codeElement=null;var trElements=document.all.tags("ol");var i;for(i=0;i
在两个SWF文件之间进行通信,一个SWF文件被称为发送方SWF文件,此文件包含要调用要调用的方法。发送方SWF文件必须包含一个LocalConnection对象和对send()方法的调用。另一个SWf文件被称为接收方SWF文件,此文件为调用方法的文件,接收方SWF文件必须包含另一个LocalConnection对象和对connect()方法的调用。
简单示例:
发送方SWF,在Application创建完成初始化LocalConnection(),并对通信状态做监听,按钮btnSend触发send()方法。
conn.send("LocalConnectionTest", "testHandler", "Hello World!"); LocalConnectionTest为接收方SWF的LocalConnection,testHandler为接收方SWF的一个方法,后面跟的是传递给testHandler的参数。
显示行号 复制代码 ?
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="Init()"> <mx:Script> <![CDATA[ import flash.net.LocalConnection; private var conn:LocalConnection; public function Init():void{ conn=new LocalConnection(); conn.addEventListener(StatusEvent.STATUS, onStatus); } public function Send():void{ conn.send("LocalConnectionTest", "testHandler", "Hello World!"); } private function onStatus(event:StatusEvent):void { switch (event.level) { case "status": trace("send()成); break; case "error": trace("send()失); break; } }
]]> </mx:Script> <mx:Canvas> <mx:Button id="btnSend" label="测 click="Send()"/> </mx:Canvas> </mx:Application>
// function CopyCode(key){var codeElement=null;var trElements=document.all.tags("ol");var i;for(i=0;i
显示行号 复制代码 ?
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="Init()"> <mx:Script> <![CDATA[ import flash.net.LocalConnection; private var conn:LocalConnection; public function Init():void{ conn=new LocalConnection(); conn.client=this; try{ conn.connect("LocalConnectionTest"); } catch(error:ArgumentError){ trace("名ocalConnectionTest的Wf对); } } public function testHandler(msg:String):void{ lbInfo.text="Receiver Info:"+msg; } ]]> </mx:Script> <mx:Label id="lbInfo"/> </mx:Application>
// function CopyCode(key){var codeElement=null;var trElements=document.all.tags("ol");var i;for(i=0;i
相关文章推荐
- 使用netlink机制在内核与应用程序之间通信
- 使用BTstack实现IOS设备与非IOS设备之间的通信
- 使用Socket模拟简单的C/S通信,客户端之间数据传输采用对象流
- Unity中使用委托/事件实现GameObject之间的通信
- Dll和另外的exe之间的通信(使用内存映射文件)
- 如何是使用XMLHttpRequest对象实现与服务器之间的通信
- AIDL解析(一)两个应用之间使用AIDL进行通信的例子
- ArrayList 和数组之间的一些转换 Handler的主线程与子线程通信 内部类的使用
- 使用Active MQ在.net和java系统之间通信
- Android使用Fragment来实现TabHost的功能(解决切换Fragment状态不保存)以及各个Fragment之间的通信
- 在Android系统使用socket在Java层和native之间数据通信
- 如何使用IpSec实现服务器之间安全通信
- 使用命名管道通过网络在进程之间进行通信
- 使用Intent实现界面之间双向数据通信
- 在两台Linux机器之间配置一条SLIP链路,以便使用互联网socket进行通信
- 使用命名管道进程之间通信(转)
- 使用thrift实现了Java服务器和nodejs客户端之间的跨平台通信
- Android使用Fragment来实现TabHost的功能(解决切换Fragment状态不保存)以及各个Fragment之间的通信
- Unity应用架构设计(2)——使用中介者模式解耦ViewModel之间通信
- java 通过使用wait和notify进行线程之间通信(代码)