[JAVA] pb de SocketException avec readObject()

pb de SocketException avec readObject() [JAVA] - Java - Programmation

Marsh Posté le 06-05-2004 à 16:27:01    

Je vous donne les grandes lignes du code :
 
 
client :
 
try{
 Socket serveur = new Socket("xxx.xx.xx.xxx", 33000);
 
  InputStream entree = serveur.getInputStream();
  OutputStream sortie = serveur.getOutputStream();
  sortie.write(num);
  int rec = (int)entree.read();
  ObjectOutputStream objout = new ObjectOutputStream(sortie);
 
                monObjet T = new monObjet();
  objout.writeObject(T);
  objout.flush();
 }
 
 
catch (Exception e){  
 System.out.println("ca merde "+e);
}

 
coté serveur :
 
try{
 ServerSocket oreille = new ServerSocket(33000);
        while (true){  
         oreille.setSoTimeout(3000);
  try{
   Socket client = oreille.accept();  
   InputStream entree = client.getInputStream();
   OutputStream sortie = client.getOutputStream();
   int acceuil = (int)entree.read();
   sortie.write(1);
   ObjectInputStream objin = new ObjectInputStream (entree);
                // le problème est ici !!!!!        
                monObjet t = (monObjet)objin.readObject();
  }
   
  catch (Exception e){
   System.out.println("problème..." );
   System.out.println(e);
  }
   
 }

 
Les read, write fonctionne bien, ainsi que le writeObject, mais ca plante sur le readObject().
erreur : java.net.socketException : Connection reset by peer: JVM_recv in socket input stream read
 
quelqu'un a une idée ?
PS : j'ai pas oublié : Ma classe monObjet implemente Serializable...
PS2 : meme si c un String et pas un "monObjet", ca plante   :cry:   :sweat:


Message édité par tuxbleu le 06-05-2004 à 16:27:59
Reply

Marsh Posté le 06-05-2004 à 16:27:01   

Reply

Marsh Posté le 06-05-2004 à 16:44:40    

cpp /cpp

Reply

Marsh Posté le 06-05-2004 à 16:52:07    


euh je capte pas la.... :(

Reply

Marsh Posté le 06-05-2004 à 17:31:30    

j'ai peut-etre une solution.
Je viens d'utiliser la méthode setTcpNoDelay() dans mon client sur la socket qui le relie au serveur, et j'ai réussi à y faire passer un String.
Je vais essayer avec mes propres Objets, mais je retrouve espoir !

Reply

Marsh Posté le 06-05-2004 à 17:39:24    

je viens d'essayer avec mes Objetsn et ca marche pas  
:(
 
quelqu'un a une idée ?

Reply

Marsh Posté le 06-05-2004 à 18:17:11    

Si kelkun d'otre rencontre se problème :
 Je vien de me rendre compte que si j'empechais le client de se fermer juste apres le writeObject, cela ne plantais plus.
Peut-etre kil ne réussisais pas a envoyer toute ses donnée avant de fermer.

Reply

Sujets relatifs:

Leave a Replay

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