Sérialisation, Vector et Socket
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:
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:
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