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

Collection et Stream Java Discussion :

Transmission d'une ArrayList via Socket


Sujet :

Collection et Stream Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 28
    Points : 21
    Points
    21
    Par défaut Transmission d'une ArrayList via Socket
    Bonsoir à tous,

    je développe actuellement une application client serveur utilisant les sockets pour communiquer.

    L'application serveur est composée de plusieurs classes:

    - ProgrammePrincipal (instanciation de la classe Serveur)
    - Serveur ( plusieurs attributs et méthodes pour communiquer avec le client)
    - Categorie ( ex: Fruit, Légume)
    - ListeDeCategorie (ArrayList<Categorie>)
    - Produit ( ex: pomme, carotte)
    - ListeDeProduit (ArrayList<Produit>)

    J'aimerai générer une IHM en fonction des catégories et des produits.

    Une fois la connexion établie entre l'application cliente et l'application serveur:
    - je demande au serveur la liste des catégories afin d'en générer des buttons
    - ensuite en fonction de la catégorie sélectionner, je demande la liste des produits associés.

    Voilà l'idée!

    Pour cela j'ai modifier mon ArrayList<Categorie> en ArrayList<Object> qui contient une chaine (ex: Légume) et une ImageIcon.

    Cependant, afin de lire des "messages" chez client j'utilise la classe BufferedReader dont voici un extrait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    receptionMessage = new BufferedReader(
                                            new InputStreamReader(socket.getInputStream()));
    Mais cette classe ne possède pas de méthode qui renvoie un objet et je me retrouve coincé.

    Avez vous une idée, une astuce ou une solution à me proposer?

    Merci de votre aide.

    A bientôt.

  2. #2
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Points : 2 061
    Points
    2 061
    Par défaut
    bonjour,

    Pour la communication entre ton client et ton serveur tu devrais utiliser RMI qui te permet de travailler avec te classe comme si tu étais en local.

    Cela évite d'implémenter ton propre protocole de communication.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2004
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2004
    Messages : 265
    Points : 342
    Points
    342
    Par défaut
    Salut,
    Si j'ai bien compris le problème, je pense que c'est possible avec la classe ObjectInputStream

    Edit : Mais c'est vrai que RMI est sûrement une meilleure solution pour faire ça.

  4. #4
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Points : 2 061
    Points
    2 061
    Par défaut
    je préciserais que si tu ne souhaites pas utiliser RMI, tu devras implémenter un protocole de communication bien structurer et transférer toi même les objets en utilisant la sérialisation.

    Mais selon moi si ton client et ton serveur son en java RMI reste la meilleur solution, et surtout la plus simple en terme de réalisation.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 28
    Points : 21
    Points
    21
    Par défaut
    Merci pour vos idées, je vais me renseigner du coté des RMI.

    Merci à vous Alkhan, gailuris.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Envoyer une image via socket
    Par antasalam dans le forum Windev Mobile
    Réponses: 1
    Dernier message: 19/06/2014, 15h05
  2. Réponses: 5
    Dernier message: 22/05/2012, 16h18
  3. Passer une secretKey via socket (format byte[])
    Par kranagard dans le forum Sécurité
    Réponses: 12
    Dernier message: 30/11/2010, 11h39
  4. Envoi d'une structure via sockets
    Par milanoran dans le forum C++
    Réponses: 8
    Dernier message: 17/11/2010, 14h19
  5. Réponses: 6
    Dernier message: 31/03/2010, 00h09

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