是否有可能为Adobe AIR应用程序连接到Web服务删除不露出剖面,domain.xml文件? 如果是这样,你如何配置空气中的安全沙箱允许这样做?
我已尝试的套接字连接并收到以下错误:
securityErrorHandler:
[SecurityErrorEvent
type="securityError"
bubbles=false
cancelable=false
eventPhase=2
text="Error #2048: Security sandbox violation: app:/MyApp.swf cannot
load data from gmail.com:5222." errorID=0
]
AIR应用程序没有在浏览器中相同的域策略如Flash播放器。 所以你通常不需要与AIR应用程序跨域策略文件。 然而有时AIR将引发SecurityErrorEvent的,可以忽略。 下面是一个例子:
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:applicationComplete>
<![CDATA[
var s:Socket = new Socket();
s.addEventListener(ProgressEvent.SOCKET_DATA, function(event:ProgressEvent):void {
t.text += event.target.readUTFBytes(event.target.bytesAvailable);
});
s.addEventListener(Event.CONNECT, function(event:Event):void {
t.text += "Event.CONNECT\n\n";
s.writeUTF("GET / HTTP/1.0\n\n");
});
s.addEventListener(SecurityErrorEvent.SECURITY_ERROR, function(event:SecurityErrorEvent):void {
trace('security sandbox error ignored');
});
s.connect("www.jamesward.com", 80);
]]>
</mx:applicationComplete>
<mx:TextArea id="t" width="100%" height="100%"/>
</mx:WindowedApplication>
文章来源: Is it possible to bypass the cross-domain.xml requirement for an Adobe AIR application built with Flex?