2010-01-07 2 views
1

막연한 "소켓 시간 초과"가 발생합니다. 내 사이트를로드 할 때 오류가 발생했습니다. PHP 데이터에 대한 다양한 HTTP 요청을 만들고 Loader() 클래스 인스턴스를 사용하고 있습니다. 누구든지이 오류가 어디서 오는 것인지 밝힐 수 있습니까? 나는 오류가 막아야 곳의 표시의 더 있었으면AS3 : 소켓 시간 초과

...

여기 내가 사용하고 내 코드입니다. 여러 가지 문제가 있지만 가장 중요한 점은 catch {}가 첫 번째로드시 오류를 포착한다는 것입니다. 로더가 완전히로드되고 모든 URL 링크가 작동한다는 것을 알고있는 경우에만 작동하는 페이드 기능이 있으므로 그렇게 할 수 없습니다.

public function loadImage (url : String) : void { this._imageURL = url; this.alpha = 1.0; // 이미지가 희미 해 졌기 때문에 필요하다

_ldr.alpha = 0.0; _prog.alpha = 1.0; _sqr.alpha = 0.0;

try { _ldr.close(); _ldr.unload(); } catch (e : 오류) { trace ("bmdisplay :"+ e.message의 오류); }

if (! _ imageURL) { return; }

_loaded = false; _ldr.contentLoaderInfo.addEventListener (ProgressEvent.PROGRESS, onProgress); _ldr.contentLoaderInfo.addEventListener (Event.COMPLETE, onComplete); _ldr.contentLoaderInfo.addEventListener (IOErrorEvent.IO_ERROR, onError); _ldr.contentLoaderInfo.addEventListener (SecurityErrorEvent.SECURITY_ERROR, onError); _ldr.load (새 URLRequest (_imageURL)); }

답변

1

실제로로드하는 내용과 방법에 대해보다 정확한 정보를 제공 할 수 있습니까?

Loader 객체의 contentLoaderInfo에서 securityErrorioError 이벤트를 수신하여 오류를 던지는 정확한 요청을 얻을 수 있어야합니다. 이 같은

뭔가 :

var loader:Loader = new Loader(); 
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorListener); 
loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, errorListener); 
var request:URLRequest = new URLRequest(url); 
loader.load(request); 

... 

private function errorListener(event:Event):void { 
    var url_causing_the_error:String = LoaderInfo(event.target).loaderURL; 
    ... 
} 
+0

예; 기본적으로이 코드입니다. 내 게시물을 업데이트하여 세부 사항을 게시 할 것입니다. – jml

+0

나는 그것이 이미지를 언로드하려고 할 때 오류를 잡는 Loader() 리스너라는 것을 알고 있지만 오류는 "아직로드되지 않음"의 효과를 나타냅니다. 가능한 경우이 오류를 피하는 방법을 알고 싶습니다. – jml

+0

나는 내가 묻는 질문을 완전히 이해하고 있는지 확신 할 수 없기 때문에 이것을 대답했다. 궁극적으로 Bool을 통해 이미지가로드되었는지 여부를 확인해야하는지 묻는 것입니다. – jml