Envoi de types Object sur un reseau

Guegue85 Messages postés 11 Date d'inscription samedi 12 février 2005 Statut Membre Dernière intervention 12 août 2006 - 19 mai 2006 à 18:57
joduak Messages postés 194 Date d'inscription lundi 11 juillet 2005 Statut Membre Dernière intervention 13 avril 2007 - 26 mai 2006 à 19:02
Bonjour,

Voilà j'ai un souci, je voudrais envoyer des classes complète sur un reseau. Pour cela, j'ai serialiser ma classe. Qd j'envoi ma premiere classe, tout baigne, je la reçoit, mais lors du second envoi, j'ai une exception du type

java.io.StreamCorruptedException
   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1301)
   at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)

Pour l'envoi, le serveur a la methode suivante :

 public void envoi(Object message){
 try {
         OutputStream sortie = client.getOutputStream(); //Creation du flux de sortie
        ObjectOutputStream objectSortie = new ObjectOutputStream(sortie);
        objectSortie.writeObject(message);//msg)}
        catch(IOException ioe) {}
}

et la thread du client est :

public void run(){
 try {
   InputStream entree =server.getInputStream(); 
   ObjectInputStream objectEntree = new ObjectInputStream(entree);
      while(true) {
           Object recu = objectEntree.readObject();
         if (recu instanceof String) traiter (recu); }
}
  catch(Exception e) {}
  }

Si quelqu'un a une idée. J'ai essayer de faire un objectEntree.reset() après la recpetion, mais la methode n'est pas acceptée

Bonne soirée

3 réponses

scaryman Messages postés 492 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 16 mai 2007 12
19 mai 2006 à 19:42
Salut
Dans un projet, j'ai utilisé readUnshared() et writeUnshared(Object o)

Voila
A++
0
Guegue85 Messages postés 11 Date d'inscription samedi 12 février 2005 Statut Membre Dernière intervention 12 août 2006
19 mai 2006 à 21:33
J'ai remplacer readObject et writeObject par readUnshared et writeUnshared, mais une exception est toujours levée :

java.io.StreamCorruptedException
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1301)
      at java.io.ObjectInputStream.readUnshared(ObjectInputStream.java:415)

D'après NetBeans, c'est la ligne : Object recu = objectEntree.readObject(); qui pose problème

Je rappel que le premier objet envoyé est bien recu, mais le second lève une exception
0
joduak Messages postés 194 Date d'inscription lundi 11 juillet 2005 Statut Membre Dernière intervention 13 avril 2007
26 mai 2006 à 19:02
salut,

J'ai un problème similaire as tu réussi à trouver la solution?

Merci d'avance de tte réponse !

++


Jo
0
Rejoignez-nous