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 :

Nombre de sockets crées


Sujet :

Réseau C

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Alimentation

    Informations forums :
    Inscription : Décembre 2014
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Nombre de sockets crées
    Bonjour à tous ,

    j'ai une question dans le cas où on a un serveur avec plusieurs clients en TCP , combien de sockets sont crées ?

    merci

  2. #2
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 381
    Points
    20 381
    Par défaut
    Salut logiquement à chaque appel de socket() une socket est crée.

    Si tu veux en créer plusieurs bref dans l'optique de gestion serveur, il faut donc créer une structure qui fait l'aggrégation de la socket crée , de tous les paramètres ( adresse IP, Port..) etc...
    Et ensuite de la mémoriser dans un tableau ou mieux une liste chainée

    Il y a un excellent tuto sur ce DVP

  3. #3
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 370
    Points : 23 625
    Points
    23 625
    Par défaut
    En outre, un socket supplémentaire est généré et renvoyé par accept() chaque fois que l'on prend en charge une connexion entrante, justement pour communiquer avec le client concerné.

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Salut,

    il y a normalement 1 socket par client.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  5. #5
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 370
    Points : 23 625
    Points
    23 625
    Par défaut
    Citation Envoyé par Bousk Voir le message
    il y a normalement 1 socket par client.
    Oui, mais on ne peut pas graver cela dans le marbre puisqu'en réalité, il y aurait un socket par client mais :
    • Un client peut ouvrir plusieurs connexions vers le serveur, et réciproquement ;
    • Un client peut avoir refermé sa connexion, et le socket associé exister encore (jusqu'à ce que le serveur le libère avec close()) ;
    • Il faut prendre en compte les sockets servant à l'écoute du ou des ports concernés (donc au moins un, sinon en nombre arbitraire) ;
    • Dans l'absolu, le serveur peut choisir de refermer puis libérer les sockets écoutant ces ports, donc cesser d'être à l'écoute, tout en conservant les clients déjà connectés ;
    • En poussant le vice jusqu'au bout, il faut définir clairement ce que l'on entend par « client ». Le bon sens nous indique qu'il s'agit de toute entité capable de se connecter elle-même au serveur et de l'interroger mais on pourrait tout-à-fait imaginer une architecture dans laquelle plusieurs processus exploitent une même connexion par le biais d'un multiplexeur, par exemple un proxy. En principe, c'est précisément le rôle d'un proxy (« mandataire ») d'être un client unique pour le compte d'autres entités, mais cela a de l'importance si le protocole donne la possibilité de se référer à ce qui se trouve au dessus de la couche de session, par exemple les NBVH des serveurs web.


    Une fois ceci posé, on voit que le nombre de sockets mis en œuvre est déterministe dans une situation précise, mais qu'il est difficile d'établir une formule générale.

Discussions similaires

  1. Problème lié au nombre de socket
    Par Bouga74 dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 22/07/2009, 12h12
  2. Augmenter le nombre de socket
    Par totoche dans le forum Solaris
    Réponses: 0
    Dernier message: 01/07/2009, 10h53
  3. quel est le nombre de formulaire crées ?
    Par mrjeronimo dans le forum Struts 1
    Réponses: 2
    Dernier message: 23/06/2008, 18h33
  4. Nombre de sockets
    Par Fred677 dans le forum Réseau
    Réponses: 4
    Dernier message: 04/05/2008, 06h20
  5. nombre de socket sur un meme port ?
    Par ginnovy dans le forum Développement
    Réponses: 3
    Dernier message: 25/10/2002, 10h52

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