0

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

    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);

    }

对此的任何帮助将不胜感激,谢谢!

4

1 回答 1

0

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

于 2012-06-18T22:30:26.137 回答