我正在使用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);
}
非常感谢任何对此的帮助,谢谢!
答案 0 :(得分:0)
更新到这个问题......事实证明,这是套接字编写方式的问题,与客户端无关,感谢所有花时间提供帮助的人