Comment puis-je détecter et/ou gérer « Erreur # 2030 :La fin du fichier a été rencontrée » sur une NetConnection dans ActionScript 3 ?

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

Question

J'écris actuellement un client en ActionScript 3 qui communique avec un serveur d'application/média Red5 via un objet NetConnection.Le serveur envoie au client plusieurs types de données via cette connexion, notamment des appels vidéo, audio et de procédure à distance.Après un temps indéterminé (parfois 10 secondes, parfois 10 minutes), je vois l'erreur suivante dans une fenêtre contextuelle de ma version Debug du client Flash :

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

Je suis en train d'essayer de comprendre la cause de cette erreur et ce qui me rend vraiment fou, c'est que je n'arrive pas à l'attraper.Je me rends compte que l'erreur indique probablement un échec de lecture réseau de bas niveau, mais le fait qu'elle génère une fenêtre contextuelle dans le lecteur Flash de débogage implique que je devrais pouvoir l'attraper.

Comme l'erreur n'a pas de trace de pile associée, je suis allé jusqu'à ajouter un gestionnaire d'exceptions non intercepté sur mon objet Sprite de 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!!!");
   }        
}

Mon gestionnaire d'exceptions non intercepté sera appelé correctement si je lance volontairement des erreurs, mais il ne sera jamais appelé lorsque cela Error #2030 arrive.

Il y a donc en réalité deux résultats qui seraient acceptables pour moi :

  1. Comment diable puis-je détecter cette erreur « La fin du fichier a été rencontrée » et la traiter dans le code ?
  2. Si je n'arrive pas à l'attraper, avez-vous une idée de la cause et de la manière de résoudre ce problème ?

Je suis presque sûr de l'avoir limité aux appels RPC effectués depuis mon serveur vers mon client, car lorsque je les désactive, mais que je laisse l'audio et la vidéo, je ne vois pas le problème.Malheureusement, je n'ai pas encore de bonnes idées au-delà de cela.

Toute aide est appréciée.Merci!

Était-ce utile?

La solution

Certaines de ces erreurs sont générées si l'écouteur approprié n'est pas ajouté.

Écoutez-vous asyncError et ioError événements depuis votre connexion Internet ?

Sinon, essayez-le.

Autres conseils

try
{

}
catch( e : EOFError )
{
    trace( e );     // EOFError: Error #2030: End of file was encountered.
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top