문제

저는 현재 NetConnection 객체를 통해 Red5 응용 프로그램/미디어 서버와 통신하는 ActionScript 3 클라이언트를 작성 중입니다.서버는 비디오, 오디오 및 원격 프로시저 호출을 포함하여 이 연결을 통해 클라이언트에게 다양한 유형의 데이터를 보냅니다.불확실한 시간(때로는 10초, 때로는 10분)이 지난 후 Flash 클라이언트 디버그 버전의 팝업 창에 다음 오류가 표시됩니다.

"Error: Error #2030: End of file was encountered."

나는 이 오류의 원인이 무엇인지 알아내려고 노력하는 중인데, 정말 나를 미치게 만드는 것은 그것을 잡을 수 없다는 것입니다.나는 이 오류가 아마도 일부 낮은 수준의 네트워크 읽기 실패를 의미한다는 것을 알고 있지만 디버그 플래시 플레이어에서 팝업 창을 생성한다는 사실은 내가 오류를 잡을 수 있어야 함을 의미합니다.

오류에는 관련 스택 추적이 없으므로 기본 Sprite 객체에 포착되지 않은 예외 핸들러를 추가했습니다.

public class MyClient extends Sprite
{
   public function FOWClient()
   {
      loaderInfo.uncaughtErrorEvents.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR, uncaughtErrorHandler);
   }

   private function uncaughtErrorHandler(event:UncaughtErrorEvent):void
   {
      trace("UNCAUGHT EXCEPTION!!!");
   }        
}

의도적으로 일부 오류를 던지면 포착되지 않은 예외 핸들러가 제대로 호출되지만, 이 경우 호출되지 않습니다. Error #2030 발생합니다.

따라서 제가 받아들일 수 있는 결과는 실제로 두 가지입니다.

  1. "파일 끝이 발생했습니다." 오류를 포착하고 코드에서 처리하려면 어떻게 해야 합니까?
  2. 잡을 수 없는 경우 원인이 무엇인지, 해결 방법에 대해 생각해 볼 수 있나요?

나는 내 서버에서 내 클라이언트로 RPC 호출이 이루어지는 것과 관련하여 범위를 좁혔을 것이라고 확신합니다. 왜냐하면 RPC 호출을 비활성화하고 오디오 및 비디오를 남겨두면 문제가 표시되지 않기 때문입니다.안타깝게도 아직 그 외에는 좋은 아이디어가 없습니다.

도움을 주시면 감사하겠습니다.감사해요!

도움이 되었습니까?

해결책

적절한 리스너가 추가되지 않으면 이 오류 중 일부가 발생합니다.

당신은 듣고 있습니까? asyncError 그리고 ioError netconnection에서 이벤트가 발생하나요?

그렇지 않다면 한번 시도해 보십시오.

다른 팁

try
{

}
catch( e : EOFError )
{
    trace( e );     // EOFError: Error #2030: End of file was encountered.
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top