2010-04-23 5 views
0

Adobe AIR 응용 프로그램이 cross-domain.xml 파일을 노출하지 않는 제거 웹 서비스에 연결할 수 있습니까? 그렇다면 Air 내에서 보안 샌드 박스를 구성하여이를 허용하려면 어떻게해야합니까?Flex로 제작 된 Adobe AIR 응용 프로그램에 cross-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 
] 

답변

4

AIR 응용 프로그램이 브라우저에서 플래시 플레이어와 같은 동일한 도메인 정책이 없습니다. 따라서 일반적으로 AIR 응용 프로그램과의 도메인 간 정책 파일은 필요하지 않습니다. 그러나 때때로 AIR은 무시 될 수있는 SecurityErrorEvent를 throw합니다. 예를 들면 다음과 같습니다.

<?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> 
+0

그러나 나는 연결 시도 중 오류가 발생했습니다. – jsight

+0

자세한 내용으로 답변을 업데이트했습니다. 그래도 문제가 해결되지 않으면 문제를 보여주는 테스트 사례를 게시 할 수 있습니까? –

관련 문제