Bonjour,
J'ai un prob avec une appli java,
Dans le bout de code suivant:
Code :
- while(!stop)
- {
- try
- {
- incx_out = new ObjectInputStream(socket_out.getInputStream());
- Message dog =(Message) incx_out.readObject();
- messageQueue.insert(dog);
- System.out.println("message recu" );
- }catch(EOFException e)
- {
- System.err.println("error 19 :" + e);
- try{
- sleep(20);
- }catch(Exception x)
- {
- //...
- }
- }catch(...)
- {
- //...
- }
- }
|
Ce bout de code attend systématiquement de lire un objet sur socket_out, dans la plupart des cas, ca marche sans problème, or lors de certain test, assez fréquement (ou je fais rien de particulier) j'obtiens une java.io.EOFException, et le programme boucle indéfiniment et affiche :
error 19 :java.io.EOFException
Et rien de ce que j'ai essayer n'as fonctionner pour gerer cette exception.(j'ai supprimer mes essais dans le codes ci dessus)
Autres constatation, ce problème ne survient qu'avec l'objet "socket_out", (plus haut dans le code, je fais la meme opération avec un autre socket, et le problème n'est jamais apparu)
Et le problème n'apparait jamais , si il n'est pas appararut lors de la première itération de la boucle.
Donc , comment faire pour gèrer ce problème (autrement qu'en coupant le thread en en demandant a l'utilisateur de se reconnecter, solution actuel)?
D'après vous, c'est bien un problème du au système? ou pensez vous plutot que c'est une faute dans mon code (éventuellement ailleurs)?
Voila j'espere que j'ai été assez clair, en attendant merci d'avance pour vos réponses 
Message édité par Nico5779 le 07-06-2004 à 10:06:31