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 :

Structuration échange client serveur


Sujet :

Entrée/Sortie Java

  1. #1
    Membre habitué
    Inscrit en
    Décembre 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Décembre 2004
    Messages : 201
    Points : 179
    Points
    179
    Par défaut Structuration échange client serveur
    Bonjour,

    J'ai développé une appli client serveur qui fonctionne parfaitement, et qui est basé sur les sockets et la sérialization.

    J'ai organisé les communications de la manière suivante :

    lecture d'une constante (int)
    appelle d'une méthode qui selon la valeur de la constante effectue les échanges nécessaires entre le client et le serveur (lecture d'objets, envoie réponse, ...)

    Tout cela fonctionne comme prévu mais la méthode comporte un switch très important. Donc j'aurai aimé avoir des propositions afin de restructuré tout cela différemment.

    J'ai pensé à deux possibilités mais je les ai exclus:
    - ajouté une interface à tous les objets sérializable de facon à ce qu'il est une méthode éxecute qui fasse le travail nécessaire. Je ne veux pas cette solution que des opérations différentes peuvent être effectué sur le même objet, et de plus je ne veux pas que le client possède l'ensemble des classes. Certaine classes doivent rester coté serveur.

    - encapsulation d'une objet dans un autre qui serait unique pour chaque opération. J'ai longtemps hésité à adopté cette solution mais le problème vient de la taille de la transmission qui augmente considérablement et donc ralenti le processus (davantage que l'utilisation du switch qui n'est pas trop gourmant vu l'application mais trop à mon souhait).

    - enfin j'ai pensé à un traitement XML, mais le temps de mis en oeuvre est conséquant et je prèfère me tourner vers une autre solution.


    Donc si quelqu'un peut me proposer une idée, je l'en remercie.

    Autre question, est-il nécessaire d'ouvrir les ports sur un routeur (le port défini pour la socket chez le client).

  2. #2
    Membre actif Avatar de jibbi
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    165
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 165
    Points : 205
    Points
    205
    Par défaut
    Bonjour,

    Je suis pas sûr de bien comprendre ton problème.

    Va voir mon POST ici, ca va peut-être d'aider:
    http://www.developpez.net/forums/sho...d.php?t=325555

  3. #3
    Membre habitué
    Inscrit en
    Décembre 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Décembre 2004
    Messages : 201
    Points : 179
    Points
    179
    Par défaut
    En fait je chercher un moyen pour organiser les actions à la réception de données de la part de ma socket serveur.

    En gros actuellement j'ai ca

    Lecture Entier par ma socket

    Envoi vers une méthode qui switch suivant la valeur de mon entier le traitement à faire.

    Attente de lecture d'un nouvelle entier.

    L'ensemble des entiers pouvant être lu sont stocké dans une classe contenant uniquement des constantes.

    Donc je voudrai éviter de passer systématiquement dans le switch pour connaitre le traitement à faire.

  4. #4
    Membre actif Avatar de jibbi
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    165
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 165
    Points : 205
    Points
    205
    Par défaut
    Dac

    Voici ce que je fais

    un socket pour transmettre les actions.
    un autre pour transmettre les données.

  5. #5
    Membre habitué
    Inscrit en
    Décembre 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Décembre 2004
    Messages : 201
    Points : 179
    Points
    179
    Par défaut
    Ok mais en quoi ca résout mon problème de switch ?

    En plus je vois pas trop l'intérêt de ton action ?

    Car si tu te retrouve bloqué par la socket qui échange les données tu bloqueras à un moment ou un autre ? Ou sinon tu utilises peut être un pool de socket ?

    Finalement, après avoir sérieusement étudier le problème, je reste comme cela pour l'instant tout en envisageant une migration du système vers du xml plus tard.

    En tout cas merci de tes conseils

Discussions similaires

  1. Créer un relai/échange client <-> serveur
    Par tsagara dans le forum Hardware
    Réponses: 0
    Dernier message: 19/12/2012, 15h13
  2. Mes premiers sockets : problème échange client serveur
    Par odsen.s dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 16/05/2010, 18h32
  3. Fonctionnement de gwt : échange client serveur
    Par loudo dans le forum GWT et Vaadin
    Réponses: 1
    Dernier message: 17/05/2009, 12h09
  4. MMO Client/Serveur structure de données
    Par sakipu dans le forum Réseau et multijoueurs
    Réponses: 9
    Dernier message: 21/09/2008, 09h42
  5. Réponses: 1
    Dernier message: 11/05/2006, 11h46

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