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 :

Socket et lire une liste


Sujet :

Entrée/Sortie Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Socket et lire une liste
    Bonjour,


    Je possède une méthode dans ma classe DAO qui retourne une liste ( ArrayList<Personne>) .Je voudrais que ma classe serveur lise cette liste
    J'ai essayé liste=in.readLine()
    Or , ce n'est pas un string que je souhaite lire mais une liste
    Avez vous des idées?

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Bonjour,

    Peut-être que tu pourrais appeler la méthode de ta classe DAO ? Elle sert probablement à ça, non ?

    Par ailleurs : qu'est-ce que les Socket viennent faire là-dedans ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 342
    Points : 419
    Points
    419
    Par défaut
    Salut, je ne comprend pas ce que tu veux faire.

    ton client ce connecte au serveur et c'est ce dernier qui call ton DAO ?

    si c'est bien le cas je pense que tu n'utilise pas le bon type de stream. Des object input/output stream devraient grandement te simplifier le développement.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    je m'explique:

    par exemple quand je veux ajouter une personne (inscrire sur un site par exemple) , je fais une classe DAO dans laquelle j'ai cette méthode ajout et dedans un Statement qui permet d'ajouter cette personne dans la base de donnée et elle retourne le nombre de ligne ajouté (ici 1) pour informer que c'est bon.La classe communication possède la valeur retournée car elle fait appelle a la méthode de la classe DAO et ensuite elle renvoi a la classe de serveur cette valeur (ouput) et cette classe en foinction de la valeur reçu informe la personne si c'est bon (input : elle lit la valeur) .Tout cela fonctionne.

    Maintenant le problème est que pour une liste (retournée par le Statement de la classe DAO), je n'arrive pas à lire la liste dans la classe serveur...car ce n'est pas un in.readLine qu'il faut utiliser

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Une solution simple serait de passer par la sérialisation. ArrayList est sérialisable, et ta classe Personne peut sûrement l'être facilement.

    Du coup il suffit de sérialiser la liste dans l'OutputStream de ta socket, et à la lecture de la désérialiser à partir de l'InputStream.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    [Et sinon,]

    il n'ya pas d'autre moyen??

  7. #7
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Si, il y a plein de solution. Pour transporter des objets à travers une Socket, le problème est de transformer, d'un côté ces objets en byte[], et de l'autre côté les byte[] en objets correspondants. Il existe une infinité de manières de le faire.

    Je t'ai juste indiqué la plus simple de Java à Java. Tu peux le faire de la manière que tu veux.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. lire une liste de vidéo avec le lecteur JW Player
    Par Axiome dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 07/06/2011, 16h09
  2. [SP-2007] lire une liste de fichier infopath comme bdd
    Par benneb dans le forum SharePoint
    Réponses: 3
    Dernier message: 23/11/2009, 08h52
  3. Lire une liste XML
    Par Nathan62 dans le forum Composants VCL
    Réponses: 5
    Dernier message: 23/05/2008, 10h23
  4. Réponses: 0
    Dernier message: 11/02/2008, 18h01
  5. [AJAX] retourner et lire une liste avec ajax
    Par _momo dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/08/2007, 15h13

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