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

Linux Discussion :

(linux) socket shutdown


Sujet :

Linux

  1. #1
    Membre habitué
    Inscrit en
    Avril 2002
    Messages
    180
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 180
    Points : 157
    Points
    157
    Par défaut (linux) socket shutdown
    Bonjour,

    pouvez-vous me dire si sur les systems linux un appel a la fonction shutdown(...) de la librarie "socket" va imediatement detruire le "file descriptor".

    sur windows la msdn dit:
    http://msdn.microsoft.com/en-us/library/ms740481(v=vs.85).aspx
    The shutdown function does not close the socket. Any resources attached to the socket will not be freed until closesocket is invoked.
    mais ces pas claire pour linux?

    merci.

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 377
    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 377
    Points : 23 663
    Points
    23 663
    Par défaut
    Bonsoir,

    Non, shutdown() ne détruira pas plus le socket sous Linux. Et heureusement d'ailleurs, car rien ne t'empêche de le reconnecter à nouveau.

  3. #3
    Membre habitué
    Inscrit en
    Avril 2002
    Messages
    180
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 180
    Points : 157
    Points
    157
    Par défaut
    merci

    sais-tu dans quelle documentation je peut trouvé cette information?

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 377
    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 377
    Points : 23 663
    Points
    23 663
    Par défaut
    Pas de tête, non, mais il n'y aucune raison pour qu'il le fasse.

    D'abord, parce que ça ne sert pas à la même chose, ensuite parce qu'un socket peut être hérité par des processus fils, ce qui donne parfois lieu à des bugs assez curieux : http://www.developpez.net/forums/d10...t/#post6033153

    Dans ce cas, il te faut un moyen de couper la connexion distincte sans avoir à refermer un par un chaque descripteur hérité. Ensuite, comme dit plus haut, tu as le droit de reconnecter à nouveau un socket, donc sans avoir à le détruire et le reconstruire.

    Sur le plan formel, j'ai tendance à penser, donc, que si ce n'est pas précisé dans la man page, alors il n'y a aucune raison pour que ce soit implicite.

Discussions similaires

  1. [Linux] Socket & thread
    Par Array dans le forum Développement
    Réponses: 3
    Dernier message: 01/11/2012, 22h47
  2. [linux] Socket operation on non socket
    Par let_me_in dans le forum Réseau
    Réponses: 11
    Dernier message: 19/06/2007, 15h38
  3. Réponses: 17
    Dernier message: 15/05/2007, 18h35
  4. [linux] socket comment savoir si est un client est d
    Par Mascos dans le forum Réseau
    Réponses: 14
    Dernier message: 04/08/2004, 12h05
  5. [Linux] Probleme de fermeture de Sockets
    Par diefo dans le forum Réseau
    Réponses: 6
    Dernier message: 30/12/2003, 13h10

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