Como posso detectar e/ou lidar com o “Erro #2030:O fim do arquivo foi encontrado” em um NetConnection no ActionScript 3?

StackOverflow https://stackoverflow.com/questions/5493670

Pergunta

Atualmente estou escrevendo um cliente em ActionScript 3 que se comunica com um servidor de aplicativo/mídia Red5 por meio de um objeto NetConnection.O servidor envia ao cliente vários tipos de dados por meio desta conexão, incluindo vídeo, áudio e chamadas de procedimento remoto.Após um período de tempo indeterminado (às vezes 10 segundos, às vezes 10 minutos), vejo o seguinte erro em uma janela pop-up da minha versão de depuração do cliente Flash:

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

Estou tentando descobrir o que está causando esse erro e o que realmente está me deixando maluco é que não consigo detectá-lo.Sei que o erro provavelmente indica alguma falha na leitura da rede de baixo nível, mas o fato de gerar uma janela pop-up no flash player de depuração implica que devo ser capaz de capturá-lo.

Como o erro não tem rastreamento de pilha associado, cheguei ao ponto de adicionar um manipulador de exceção não capturado em meu objeto Sprite base:

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

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

Meu manipulador de exceções não detectado será chamado corretamente se eu inserir alguns erros propositalmente, mas nunca será chamado quando isso acontecer. Error #2030 acontece.

Portanto, existem realmente dois resultados que seriam aceitáveis ​​para mim:

  1. Como diabos posso detectar esse erro "Fim de arquivo encontrado" e lidar com ele no código?
  2. Se eu não conseguir pegá-lo, há alguma ideia sobre o que está causando isso e como posso corrigir isso?

Tenho certeza de que reduzi o problema às chamadas RPC feitas do meu servidor para o meu cliente, porque quando eu as desativo, mas deixo o áudio e o vídeo, não vejo o problema.Infelizmente, ainda não tenho boas ideias além disso.

Qualquer ajuda é apreciada.Obrigado!

Foi útil?

Solução

Alguns desses erros são gerados se o ouvinte adequado não for adicionado.

Você está ouvindo asyncError e ioError eventos da sua conexão de rede?

Se não, experimente.

Outras dicas

try
{

}
catch( e : EOFError )
{
    trace( e );     // EOFError: Error #2030: End of file was encountered.
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top