我正在使用 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);
}
对此的任何帮助将不胜感激,谢谢!