IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

Sérialisation, Vector et Socket


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Inscrit en
    Juin 2003
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 158
    Par défaut 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 : 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

  2. #2
    Membre expérimenté Avatar de Betatesteur
    Inscrit en
    Juillet 2003
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 210
    Par défaut
    Hello,

    Il n'est conseillé d'employer Vector

    @++

  3. #3
    Membre confirmé

    Inscrit en
    Juin 2003
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 158
    Par défaut
    Betatesteur,
    Pas conseillé : quels sont les problèmes potentiels ? Que faut-il utiliser à la place sachant que j'ai le JDK 1.4.2 ? ArrayList ?

  4. #4
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Citation Envoyé par willowII
    ArrayList ?
    Oui, ArrayList...

    Vector -> ArrayList
    Hashtable -> HashMap
    Stack -> LinkedList
    Enumeration -> Iterator

  5. #5
    Membre confirmé

    Inscrit en
    Juin 2003
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 158
    Par défaut
    J'étais un peu dubitatif que de passer de Vector à ArrayList puisse régler mon problème mais j'en quand même essayé : toujouts pareil

  6. #6
    Membre expérimenté Avatar de Betatesteur
    Inscrit en
    Juillet 2003
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 210
    Par défaut
    Citation Envoyé par willowII
    J'étais un peu dubitatif que de passer de Vector à ArrayList puisse régler mon problème mais j'en quand même essayé : toujouts pareil
    On a jamais dit que ça allait resoudre ton problème

    fais voir ton code entier.
    t'as quoi comme message d'erreur? warning?
    fais voir

    @++

Discussions similaires

  1. sérialiser la class socket
    Par k9999xx dans le forum C#
    Réponses: 4
    Dernier message: 02/07/2014, 18h26
  2. Sérialiser une socket
    Par sagopa dans le forum C++
    Réponses: 2
    Dernier message: 30/09/2008, 12h22
  3. [POO] Sérialiser Objet PHP avec Socket
    Par Invité4 dans le forum Langage
    Réponses: 8
    Dernier message: 30/11/2007, 11h37
  4. Réponses: 3
    Dernier message: 20/10/2006, 19h50
  5. Sérialisation avec sockets
    Par sebi77 dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 03/05/2004, 20h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo