2009-02-28 105 views
0

我正在开发一个Adobe Air应用程序,该应用程序应该使用使用LocalConnection的SWF文件。如何发现LocalConnection连接名称?

我以前从未使用过LocalConnection,但从我在线参考了解的内容中,我需要在发送方和接收方都指定相同的连接名称。

由于我无法访问此组件源代码,因此如何才能找出应使用的连接名称?

我确实可以访问一些使用相同SWF的JavaScript文件,但由于我没有使用JavaScript的经验,我不知道从哪里开始寻找。我能从那里弄出一些东西吗?

...或者我错过了什么?

回答

2

无法从ActionScript中查询connectionName是什么。原因是它会带来无数的安全漏洞。如果在您想与之交谈的SWF文档中提到了这一点 - 请查看。

整个本地连接业务虽然并不困难,但由于文档很薄,至少可以说是复杂的。非常非常混乱。在尝试做任何事情之前,你应该仔细阅读它。我在那里烧了我的手指。

检查了这一点首先:

  • 是不同的计算机上的SWF的AIR应用程序?否则你倒霉了。因为:

    的LocalConnection对象只能在这同一客户端计算机上运行的文件交流[...]

  • 的SWF是否有一个LocalConnection对象?如果不是,你运气不好。

  • 您的AIR应用程序(假设它是被调用者,并在SWF上调用某个方法X)也需要具有LocalConnection对象。并且,它将不得不呼叫connect()连接到SWF。
  • 最好的办法是采取documentation(这也是最通用的)中提到的最后一种方法,即具有不可预知域名的不同域名。此外,要开始允许任何和每个域使用:allowDomain(*);
  • 如果其他SWF也是一个AIR应用程序,您将不得不预先将应用程序ID预先连接到连接名称。

现在,给它一个最好的镜头,让我们知道你卡在哪里。祝你好运!

+0

谢谢!我邮寄了负责SWF的人,询问连接名称。之后,我认为这不是什么大问题。 SWF将与Air应用程序位于同一台计算机上。在此之后,我会告诉你一切事情。 – leolobato 2009-03-01 23:42:56