probleme désérialisation class socket

probleme désérialisation class socket - Java - Programmation

Marsh Posté le 23-12-2008 à 16:46:36    

bonjour,
 
voila j'essaye d'écrire un programme de conversation (style msn) en java. J'ai fait une classe message (contenant divers information comme le destinataire, l'emetteur, le contenu...). J'essaye, pour l'instant, d'envoyer un message du client vers le serveur et d'afficher le contenu sur le serveur. Ça marche (je reçois bien le message) sauf que après m'avoir afficher le message, il m'affiche un "null" (ou alors une exception IOException). Le printStackTrace donne ceci : java.io.EOFException
 at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2570)
 at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1314)
 at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368)
 at Dialogue.run(Dialogue.java:33)
 
je vous mets le code de la partie qui deconne :  
 

Code :
  1. public void run() {
  2.   try {
  3.     while (true) {
  4.         // System.out.println("hihi" );
  5.         Object tentative = entree.readObject();
  6.         // System.out.println("hoho" );
  7.         message2 = (Message)tentative;
  8.         if ((message2.getType()).equals("message" )){
  9.                      System.out.println(message2.getCorps());
  10.           }
  11.       }
  12.     }
  13.     catch (IOException r3) {
  14.         r3.printStackTrace();
  15.     }
  16.     catch (ClassNotFoundException r4) {
  17.         System.err.println("erreur" );
  18.     }
  19. }


Je pense que l'erreur se situe au niveau de "Object tentative = entree.readObject();" car quand j'enleve les commentaires sur les System.out.println j'ai ceci comme résultat :
hihi
hoho
contenu du message  
hihi
java.io.EOFException
 at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2570)
 at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1314)
 at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368)
 at Dialogue.run(Dialogue.java:33)
 
Cependant, je ne sais pas comment faire pour empécher ça.
 
Merci beaucoup pour votre aide.
kiki303


Message édité par kiki303 le 23-12-2008 à 17:17:58
Reply

Marsh Posté le 23-12-2008 à 16:46:36   

Reply

Marsh Posté le 23-12-2008 à 23:32:51    

Tout a une fin.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed