AIR 3.1应用程序无法连接到localhost或本地IP地址

时间:2012-06-07 05:26:36

标签: actionscript-3 security air localhost sandbox

我正在使用AIR 3.1构建AIR应用程序,尝试使用

连接到本地http套接字
    localhost:7676  

套接字是从AIR应用程序尝试使用localhost连接到的同一台计算机上的OSX应用程序运行的。连接成功后,AIR应用程序将接收JSON数据字符串。

在浏览器中运行swf时,我使用localhost连接:7676没有问题,它成功连接到运行套接字的OSX应用程序。当FlashBuilder项目打包并编译为AIR应用程序,并且我使用相同的地址连接时,我收到此错误,并且不知道如何解决...

*安全沙箱违规* 连接到localhost:7676暂停 - 不允许来自app:/Matrx_Remote_App.swf SecurityError:错误#2147:URL localhost中的禁止协议:7676

我在类中使用的代码只是一个简单的加载器类

    _loader = new URLLoader();

        var request:URLRequest = new URLRequest("http://localhost:7676");
        _loader.addEventListener(Event.COMPLETE, onComplete);
        _loader.addEventListener(IOErrorEvent.IO_ERROR, ioerrorHandler);
        _loader.addEventListener(flash.events.HTTPStatusEvent.HTTP_RESPONSE_STATUS, handleOnEventStatus);
        _loader.load(request);

onComplete方法如下所示:

    private function onComplete(e:Event):void {
        trace("e " + URLLoader(e.target).data +  _loader.data + " _loader.bytesTotal " + _loader.bytesTotal);
        var loader:URLLoader = URLLoader(e.target);
        var jsonData:Object  = JSON.parse(loader.data);
        trace(jsonData);

    }

非常感谢任何对此的帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

更新到这个问题......事实证明,这是套接字编写方式的问题,与客户端无关,感谢所有花时间提供帮助的人