Bonjour,

je vous explique, j'ai en gros un système de "client-serveur".
Coté serveur je vais chercher des objects dans une BDD, je les créer en mémoire, et je voudrais les envoyés a mon client. J'utilise le sérialiseur : XMLEncoder et donc XMLDecoder. J'ai donc suivi l'exemple trouvé sur développez(http://ydisanto.developpez.com/tutor...ation/partie2/) , le problème c'est que pour que l'objet sois bien reconstruit, on est obliger de faire : encoder.close(); et donc coté client : decoder.close(); Le problème viens donc du faite que quand ca close les inputstream et outputstream sont fermé a leur tour et donc ma connection à mon socket...ce qui n'est pas vraiment pratique... donc si quelqu'un a une idée de comment ne pas perdre cette connection...
merci d'avance...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
// coté Client
	private Object XML2Object(InputStream input) {
		XMLDecoder decoder = null;
		decoder = new XMLDecoder(input);
		Object o = decoder.readObject();
		decoder.close();
		return o;
	}
// mon input c'est : socket.getInputStream()
 
 
// coté serveur
private void object2XML(Object o) {
 
	XMLEncoder encoder = null;
	try {
		encoder = new XMLEncoder(new BufferedOutputStream(client
					.getOutputStream()));
	} catch (IOException e) {
			e.printStackTrace();
	}
		encoder.writeObject(o);
		encoder.flush();
		encoder.close();
}