如何发现LocalConnection连接名称?

时间:2009-02-28 12:46:12

标签: javascript flex actionscript-3 air

我正在开发一个Adobe Air应用程序,它应该使用LocalConnection来使用SWF文件。

我之前从未使用过LocalConnection,但从我在网上引用中所理解的情况来看,我需要在发送方和接收方都指定相同的连接名称。

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

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

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

1 个答案:

答案 0 :(得分:2)

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

至少可以说,整个LocalConnection业务虽然并不困难,但由于文档很薄弱而变得复杂。而且非常非常令人困惑。在尝试做任何事情之前,您应该仔细阅读。我把手指烧了。

首先检查一下:

  • AIR应用程序是否位于与SWF不同的计算机上?否则你运气不好。这是因为:

      

    LocalConnection对象只能在同一客户端计算机上运行的文件之间进行通信[...]

  • SWF是否有LocalConnection对象?如果不是,那你就不走运了。

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

现在,给它最好的拍摄,让我们知道你被困在哪里。祝你好运!