Bonjour,

J'ai une architecture client/serveur par sockets. Pour transférer les informations entre le client et le serveur, j'utilise :
  • La sérialsiation des objets
  • ObjectInputStream et ObjectOutputStream pour émettre et récupérer


J'ai trois classes imbriquées
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
public class uTraining implements Serializable
{
	private Vector			_sessions; // Vecteur de uTrainingSession
	...
}
 
public class uTrainingSession implements Serializable
{
	private Vector		_days; // Vecteur de uTrainingDays
	...
}
 
public class uTrainingDay implements Serializable
{
	private Vector		_idTrainers; // Vector de String
	...
}
Je transmets depuis le client un objet de type uTraining deux fois en ayant modifié le contenu du Vector _idTrainers entre les deux transferts
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
uTraining myTraining = ...
myObjectOutPutStream.writeObject(myTraining);
 
// modification du contenu de _idTrainers, par exemple plus qu'un seul objet dans le Vector contre 2 précédemment.
...
 
// Transfert à nouveau de myTraining
myObjectOutPutStream.writeObject(myTraining);
Et voilà mon problème :
Côté serveur, le contenu de _idTrainers n'a pas changé ! (l'adresse de l'objet est le même d'après ce que j'ai constaté avec le debuggueur d'Eclipse)
J'ai bien vérifié côté client juste avant writeObject, il n'y a qu'un seul objet dans le Vector avant le 2ème envoi.

Merci d'avance pour votre aide