【问题标题】:LocalConnection: communicate between flex 4.1 and flash as2LocalConnection:flex 4.1 和 flash as2 之间的通信
【发布时间】:2011-03-22 17:05:56
【问题描述】:

我正在尝试使用 LocalConnection 在 flex 4.1 应用程序与 flash action script 2 应用程序之间进行通信。

闪存应用程序

包含一个名为 btn01 的按钮和以下代码:

var a:LocalConnection = new LocalConnection();

btn01.onPress = function() {
 trace("button clicked");
 a.send("abcde","test");
}

您可以在此处看到它向名为“abcde”的连接发送了一个测试命令。

弹性应用程序

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
           xmlns:s="library://ns.adobe.com/flex/spark" 
           xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955"     minHeight="600" initialize="init()">
<fx:Declarations>
    <!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<fx:Script>
    <![CDATA[
        import mx.controls.Alert;

        private function init():void {
            var a:LocalConnection = new LocalConnection();
            a.client=this;
            a.connect("abcde");
        }

        public function test():void {
            Alert.show("test");
        }
]]>
</fx:Script>
<mx:SWFLoader source="/location/as2-flash-file.swf" />

如您所见,在 flex 应用程序中,我连接到名为“abcde”的 LocalConnection,并将客户端设置为“this”,这意味着可以从 LocalConnection 执行所有公共功能。

SWFLoader 元素加载 as2 闪存文件。

每当我单击按钮时,我都会看到跟踪消息,但功能测试不会在 flex 应用程序上执行。有什么想法吗?

更新

两个应用程序都位于同一个域上,实际上在本地主机上,因此不需要使用 allowDomain 并且两个应用程序都是基于 Web 的。

【问题讨论】:

    标签: apache-flex flash localconnection


    【解决方案1】:

    Documentation 表示 AS2 和 AS3 LocalConnections 通信应该没有问题。

    您需要研究allowDomain 方法吗?您需要放置一个 crossdomain.xml 文件吗?如果您在两个不同的域上确实有 swf,请特别注意发送方法文档,因为您必须将其他信息添加到 send 方法的连接名称。

    它们都是基于浏览器的应用程序吗?我没有,看看 AIR

    【讨论】:

    • 感谢您的信息,我更新了主帖以提供更多详细信息。我还没有找到解决办法。
    【解决方案2】:

    我在 init() 范围内创建了 LocalConnection 变量,所以当函数结束时,本地连接被破坏了。解决方案就是在init函数之外声明变量。

    public var a:LocalConnection;
    
    private function init():void {
            a = new LocalConnection();
            a.client=this;
            a.connect("abcde");
        }
    

    【讨论】:

    • 我不敢相信我没听懂。干得好!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-30
    • 1970-01-01
    • 2010-12-12
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 2010-11-24
    相关资源
    最近更新 更多