LocalConnection实现swf与swf之间通信

 

                                                  LocalConnection可以实现swf与swf之间的通信
1.同一个swf内的通信 ;

2.不同swf之间的通信 ;

3.AIR应用程序之间的通信 ;

4.AIR应用程序与网站之中的swf之间的通信 .


虽然LocalConnection,如同起名字那样,只能够在同一台电脑之内的swf文件之中进行通信,但是它能够实现不同的应用程序,如 浏览器中的swf 与 AIR中的swf 的可以进行通信。 
LocalConnection通信可以在1.0,2.0与3.0的之间通信,或者3.0与1.0,2.0之间的通信都是畅通的 
为 了更深的理解LocalConnection,就要清晰的理解各个通讯文件的功能和命令。通讯需要两个文件,一个是发送文件,包含要被触发的方法A ,另外还有包含一个LocalConnection对象和触发send()。另一是接收的文件,用于触发那个方法A,另外还有包含一个 LocalConnection对象和触发connect()。 


根据域的不同,Send()与connect()也是不同的,有一些几种情况: 
1、 相同domain中进行通讯

2、 不同的domain,有确切的domian名

3、 不同的domain, 有未知的domain名或者动态的domain名 


相同domain中进行通讯   在同domain中,flex默认是允许的,所以不需要其他额外的设置,就可以直接用了。您只需为 connectionName参数传递相同的值到两个connect()和send()方法 
http://www.domain.com/receiving.swf

Var  conn:LocalConnection; 
Conn=new LocalConnection();

Conn.connection(“connectionname”); 
Function methodname():void 

{trace(“hello word!”);} 
http://www.domain.com/sending.swf

Var conn:LocalConnection; 
Conn=new LocalConnection();

Conn.send(“connctionname”,”methodname”); 
有确定名的不同domain 当不同domain进行通讯时,你需要允许不同domain之间的通信,方式是调用allowDomain()这个方法。并且在接收文件的LocalConnection对象send()方法中加入connectionname 

http://www.domain.com/receiving.swf

Var  conn:LocalConnection; 
Conn=new LocalConnection(); 

Conn.allowDomain(“www.otherdomain.com”);

Conn.connection(“connectionname”); 
Function methodname():void 

{trace(“hello word!”);} 
http:// www.otherdomain.com /sending.swf

Var conn:LocalConnection;

Conn=new LocalConnection();

Conn.send(“domain.com : connctionname”,”methodname”); 
未知domain名的不同domain Connectionname需要添加下划线(_),允许域名改为* 
http://www.domain.com/receiving.swf

Var  conn:LocalConnection; 
Conn=new LocalConnection(); 

Conn.allowDomain(“*”);

Conn.connection(“_connectionname”); 
Function methodname():void 

{trace(“hello word!”);} 
http:// www.unknown.com /sending.swf

Var conn:LocalConnection;

Conn=new LocalConnection(); 
Conn.send(“_ connctionname”,”methodname”);

原文地址:https://www.cnblogs.com/klh5211314/p/3333459.html