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

C++ Discussion :

client serveur quel choix


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Par défaut client serveur quel choix
    Bonjour
    Pour emettre et écouter en meme temps sur le serveur

    j'ai trouvé 3 choix

    les threads
    Duplication de process :les fork unix
    le multiplexage d'E/S asynchrone

    sur quel criteres, je choisis l'une ou l'autre ?

    d'avance merci
    je regarde le site de Beej'

  2. #2
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Salut,

    je suis désolé de faire une "réponse de normand", mais... tout dépend entièrement de ce que tu souhaites mettre en place.

    J'ai presque la conviction que la préférence d'une des solutions par rapport aux autres deviendra manifeste en cours d'analyse et de conception.

    Il n'est d'ailleurs pas impossible que tu choisisse une méthode pour une partie de l'application et une autre pour une autre partie, simplement, parce qu'elle te semblera être la meilleure pour le cas que tu veux gérer
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  3. #3
    Membre chevronné
    Inscrit en
    Novembre 2006
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 362
    Par défaut
    Je suis moi-même désolé de ne pas t'être d'une grande aide, dans la mesure où je ne sais pas à quoi tu fais référence lorsque tu parles de "multiplexage d'entrées sorties asynchrones".

    Concernant le choix entre Fork et thread, ça beaucoup de comment tes threads/fork vont devoir communiquer entre eux.

    Les threads appartiennent au même programme, et notament partagent une certaine zone mémoire. Les fork vivent chacun leur vie de leur coté, (ce qui ne les empèche pas de communiquer).

    Dans le cas d'un serveur de dessin coopératif, où plusieurs clients se connectent au même serveur pour dessiner en même temps sur le même tableau, j'imagine que tu utiliseras plutot des thread.

    Dans le cas d'un serveur de génération de courbes, ou plusieurs clients se connectent au même serveur pour lui filer des listes de points et recevoir en échange des courbes de données, j'imagine que tu utiliseras plutot des forks.

    Bonne chance.


    P.S : Jusqu'à présent, tous les serveurs que j'ai codé utilisaient des threads.

  4. #4
    Membre éprouvé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Par défaut
    bha merci
    ces réponses qui n'en sont pas

    m'éclairent quand meme un peu

    merci

  5. #5
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    En fait, il est meme fort vraissemblable que tu préféreras pour la partie "serveur", un peu à l'instar de ce que fait Apache, par exemple (désolé, l'exemple m'est venu à l'esprit bien après mon premier post), lancer carrément un processus séparé pour chaque requete, de manière à ce que le "processus parent" puisse toujours rester à l'écoute du port par défaut.
    [EDIT](Ce qui ne l'empeche d'ailleurs pas forcément de lancer plusieurs threads pour gérer une seule requete... je ne suis pas allé assez loin dans son fonctionnement pour être précis sur le sujet )[/EDIT]

    D'un autre coté, il n'est pas inenvisageable que tu envisage l'utilisation de threads dans une certaine mesure, et, pourquoi pas, le lancement d'un nouveau processus dans certains cas (comme l'ouverture d'une deuxième fenetre du navigateur)

    Enfin, selon les cas toujours, il faudra voir ce qui est le plus efficace au niveau de la transmission des données: multiplexage ou connexion (et transmission) synchrone/asynchrone du client au serveur... Mais cà, cela dépendra de la charge que peut supporter la partie serveur et du temps que tu considère comme admissible entre l'envoi d'une requete et l'obtention du résultat

    Finalement, tu vois que ma réponse de normand était un bon résumé du problème, non
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  6. #6
    Membre éprouvé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Par défaut
    en fait, hier soir j'étais parti sur l'idée d'utiliser des threads pour gèrer la communication.

    alors je vais regarder ce qui se fait

    mon contexte : systeme embarqué avec un noyau linux

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 28/02/2012, 12h09
  2. [c++] Développement Client/Serveur: Quel est le principe?
    Par _pouet dans le forum Développement
    Réponses: 12
    Dernier message: 22/09/2009, 22h22
  3. Application Client/Serveur (Quel solution?)
    Par elraton dans le forum C++
    Réponses: 5
    Dernier message: 16/07/2009, 18h35
  4. Client serveur : quel algorithme choisir
    Par e-medi dans le forum Réseau
    Réponses: 1
    Dernier message: 15/07/2007, 22h54
  5. [client/serveur] Quel est format de requêtes Client/BDD ?
    Par sotuxan dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 05/03/2006, 12h52

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