Salut a tous,
alors la je coince... j'ai une architecture client/serveur en java, et j'ai des sockets toutes betes. Le client balance des données dedans, et je les lis chez le serveur...
Malheureusement, le contenu des messages est tout le temps identique à l'arrivée... comme si la méthode readObject() ne flushait pas le flux...
voici le code :
Code :
- try{
- // ouvrir les fluxs de donnees entre le serveur et le client
- obtenirLesFlux();
-
- while(continu)
- {
- recu=(Message)this.entree.readObject();
- if(recu.getText()=="q" )
- continu=false;
- else
- {
- //imprime le message recu
- System.out.println(recu.getText());
-
- //envoit un echo
- envoye.setText("echo du serveur" );
-
- //flush le tout
- this.sortie.writeObject(envoye);
- this.sortie.flush();
- }
-
- }
|
et par exemple j'envois un message contenant "toto" puis un message contenant "tata", le serveur affiche 2 fois "toto"....
Les sockets d'envois sont bien flushées a chaque fois....
surement une erreur bete...
merci a ceux qui peuvent me filer un coup de main...
Gian
EDIT : je précise, le code est extrait d'une fonction qui n'est pas synchronized.
Message édité par Giansolo le 24-11-2004 à 20:18:24