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

Réseau C Discussion :

Server multi clients


Sujet :

Réseau C

  1. #1
    Membre averti Avatar de jbarreau-mainson
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    446
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 446
    Points : 412
    Points
    412
    Par défaut Server multi clients
    Bonjour à tous,

    J'aimerais realiser un server avec plusieurs eventuels clients qui pourraient se connecter simultanément.

    Jusqu'à ce jour je n'ai réalisé que des server avec 1 seul client et je me rend assez vite compte que l'algorithme n'est pas du tout le meme avec multi clients !

    Seulement je n'arrive pas à trouver comment mettre en place cette gestion multi clients simultannées.

  2. #2
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par jbarreau-mainson Voir le message
    Seulement je n'arrive pas à trouver comment mettre en place cette gestion multi clients simultannées.
    Quelques pistes de réflexions ici :

    http://emmanuel-delahaye.developpez....reseaux-c/#LII
    Chapitre 08 etc.
    Pas de Wi-Fi à la maison : CPL

  3. #3
    Membre confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Août 2007
    Messages
    509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Août 2007
    Messages : 509
    Points : 622
    Points
    622
    Par défaut
    Il y'a différentes facons de programmer un serveur multi-threadé pour recevoir des clients.
    Ce que tu peux faire :
    1*) Soit créer un thread de traitement à chaque arrivée de client. Le prob avec cette approche est que tu peux saturer le nombre de processus.
    2*) Soit utiliser un pool de threads. Ce pool peut etre soit :
    a) Statique : T'as N thread fixés qui sont au départ endormis et qui se voient affectés des clients au fur et à mesure. Le prob avec cette approche est que si le nombre de clients est > N, donc des connexions qui seront refusés.
    b) ou dynamique : dans cette approche N s'adapte dynamiquement au nb de clients

    Voilà

  4. #4
    Membre averti Avatar de jbarreau-mainson
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    446
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 446
    Points : 412
    Points
    412
    Par défaut
    Qu'appeles tu un pool de threads dynamiques ?

  5. #5
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Citation Envoyé par jbarreau-mainson Voir le message
    Qu'appeles tu un pool de threads dynamiques ?
    La création d'un thread est une opération lourde et couteuse pour l'OS.

    Dans le cas d'un serveur, tu vas peut être être amené à créer un thread pour gérer chacune des connexions des clients. Si ces connexions sont courtes et nombreuses, tu vas avoir un overhead important pour créer et détruire tes threads.

    L'idée d'un pool de thread et d'avoir des threads en attente. A chaque fois que l'on a besoin d'un thread, on prend un de ceux qui sont disponibles pour effectuer l'action. Quand l'action est terminée, le thread retourne dans le pool pour attendre une nouvelle commande. Ainsi, il n'y a plus de création et de destruction de threads. Ils sont crées et ils attendent de faire quelque chose.

    Le pool peut avoir une statégie de gestion. S'il n'y a plus suffisemment de thread, c'est le pool qui va se charger d'en créer un. S'il estime qu'il y en a trop et qu'il ne veut plus en créer, il va retourner une erreur. Si, à un instant donné, il estime qu'il y a trop de threads en attente qui ne font rien, il peut décider d'en terminer quelques uns afin de liubérer des ressources.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    2 sources complètes
    1-> Pour ta communication client/serveur : http://www.frameip.com
    2-> Pour la gestion des Threads : https://computing.llnl.gov/tutorials/pthreads/

    Et une fois tous ces liens lut avant de te lancer dans ton code, tu devrais analyser quel architecture distribué tu devrais adapter a ton besoin. ( très grand gain de temps)

    voila bonne chance a toi

  7. #7
    Membre averti Avatar de jbarreau-mainson
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    446
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 446
    Points : 412
    Points
    412
    Par défaut
    Merci pour vos réponses.

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

Discussions similaires

  1. Server multi client conception
    Par mercyril dans le forum Réseau
    Réponses: 8
    Dernier message: 29/08/2012, 08h52
  2. Server multi-client en udp
    Par blurp2 dans le forum Entrée/Sortie
    Réponses: 11
    Dernier message: 16/04/2007, 09h50
  3. Serveur Multi-clients
    Par darsky dans le forum C++Builder
    Réponses: 5
    Dernier message: 16/04/2004, 09h53
  4. Création d'un Serveur Multi Client
    Par N*E*R*D dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 16/03/2004, 17h13

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