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

Java Discussion :

J'ai du mal avec le modele distribué


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4
    Par défaut J'ai du mal avec le modele distribué
    Salut tous le monde,

    J'ai quelques problèmes avec mon application serveur : j'ai un serveur qui gère deux clients en même temps et je voudrais interconnecter mes deux clients sans pour autant les transformer en serveur ou passer par le serveur ( j'y ai passé toute une nuit dessus et j'arrive pas ). Je vous remercie d'avance de votre aide

  2. #2
    Membre éclairé
    Homme Profil pro
    Architecte technique
    Inscrit en
    Mars 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 58
    Par défaut
    Salut. En même temps pour interconnecter 2 clients, tu n'as pas trop le choix. Soit tu les fait communiquer directement entre eux (dans ce cas, un thread à part gérant la connection est souhaitable), soit tu les fait communiquer indirectement via un serveur. Dans les deux cas, il faudra que tes clients acceptent des connections et gérent les actions qui leur sont demandés. Les deux solutions ont chacun leurs avantages et leurs inconvénients. Détails nous un peu ce quel type d'échange tu veux faire et on pourra peut etre t'aider.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4
    Par défaut Plus de precisions...
    Et bien pour être plus precis, je dois implementer un quasi-simulateur de l'algorithme de synchronisation d'horloges ( horloges processus ) ; on utilise 3 ordinateurs reliés en réseau : un qui jouera le rôle de serveur ( il assure l'interfrace et lance la synchro ) et deux autres joueront les clients ( ils hebergent les processus et executent la synchro ) ; les clients sont reliés au serveur afin de lui envoyer les resultats des synchro et doivent être interconnectés entre eux afin que leurs processus puissent s'échanger leurs horloges ( il y a en tout 16 processus à dispatcher au choix dans les 2 clients dont au plus 5 processus sont byzantins ). On a un algo distribué stricte à respecter donc je suis obligé de faire comme ce qui décrit plus haut . Voilà donc, si quelqu'un peut me donner un petit coup de main ( normalement ce projet doit être effectué en binôme mais " par chance " on est impaire ) je lui en serais reconnaissant. Je vous remercie d'avance

  4. #4
    Membre émérite Avatar de benratti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    471
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2004
    Messages : 471
    Par défaut
    En fait, ton problème est de faire dialoguer tes deux clients. Pour cela, il faut que l'un des deux se connecte à l'autre. Temporairement, le temps de la mise en place de la connection, il faut que tu en ai un qui joue un rôle de client ( le premier ) et l'autre de serveur ( le second ).

    En fait, ca peut sembler confu, car le type de serveur que je viens de te décrire ne transforme pas ton second client en serveur au sens de ton algo. Il restera client dans ton algo. Mais il faut simplement qu'il se mette en attends de connexion pour que le second client puisse se connecter à lui.

    Après je ne sais pas de quelle manière tu vas faire "dialoguer" tes différents programme ( socket, RMI, CORBA, etc ... ) mais si tu utilises les socket, il faut simplement que le client en attente de connexion créer un ServerSocket et que le second ouvre la connexion en créer un Socket l'autre client. Ensuite, les deux clients auront une connexion vers l'autre client et pourront dialoguer.

    J'espere que j'ai été clair, sinon nhesite pas a me demander des indications sur ce que tu n'as pas compris.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4
    Par défaut
    Donc, si je resume je devrais faire deux codes un peu different pour mes clients. Mais je vois pas exactement comment. Est-ce que je devrais ajouter dans l'un un bloc de creation d'un serversocket et dans l'autre un bloc contenant la connexion et la creation des flots d' E/S ? Comment faire pour gérer cette creation de connexion en plus de celle avec le serveur Interface ? Je vous remercie de l'aide que vous m'apportez

  6. #6
    Membre émérite Avatar de benratti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    471
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2004
    Messages : 471
    Par défaut
    En fait, le mieux est surement de faire un client capable de faire les deux, et par exemple de deleguer au serveur le choix de chaque fonctionnalité des clients. De tout facon, c'est lui qui vas devoir transmettre l'adresse IP de l'autre client à chacun des clients.

    En fait, au niveau conception, il faut simplement que la classe de communication avec l'autre client ait de constructeur. Un qui vas créer un ServerSocket, et un autre qui vas directement créer un Socket.

    Pour ton problème de conception, en fait, il faut qut tu pose les choses à plats. Ton client doit pouvoir aussi bien connecter avec ton serveur et avec l'autre client. Il faut que dans la conception de ton client, tu ais deux interfaces possible. Tu fais exactement de la même facon que pour l'interface vers le serveur.

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

Discussions similaires

  1. LIMIT calcul mal avec des JOIN
    Par FMaz dans le forum Requêtes
    Réponses: 21
    Dernier message: 12/07/2006, 03h37
  2. [debutant]J'ai du mal avec la gestion des erreurs
    Par gillou13 dans le forum Langage
    Réponses: 5
    Dernier message: 02/06/2006, 14h33
  3. Problèmes d'affiche du header de mon JTable avec un Model
    Par Baptiste Wicht dans le forum Composants
    Réponses: 16
    Dernier message: 08/02/2006, 18h37
  4. du mal avec les fichiers ressources
    Par keil dans le forum MFC
    Réponses: 1
    Dernier message: 01/02/2006, 02h46
  5. [POO] Un peu de mal avec les membres de ma classe
    Par Spack dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/11/2005, 03h41

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