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 :

detecter fermeture tcp socket


Sujet :

Réseau C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 174
    Par défaut detecter fermeture tcp socket
    Bonjour,

    Auriez vous une idée de comment détecter la fermeture d'un socket.
    En faite j'aimerai faire un client qui se connecte à un serveur .
    Le serveur lui envoie des messages.
    Une fois ces messages envoyés, le serveur ferme la connexion avec close ou shutdown(fin/ack).
    Je voudrai que mon client détecte cette fermeture du serveur.

    Et suite à mes recherches je suis tombé sur certain documents qui parle de fermeture de socket implicite et explicite.
    quelle différence existe t'il entre une fermeture implicite et une fermeture explicite?

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 485
    Par défaut
    Bonsoir,

    Une lecture sur ton socket avec zéro caractère reçus est considéré comme une fermeture.

    Bon courage.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 174
    Par défaut
    merci pour ta réponse.
    Le problème c'est que le client est en attente de recevoir des messages.
    Donc la fonction recv bloque et je ne peut pas utilisé read().

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 485
    Par défaut
    C'est pareil pour recv(). Extrait de la man page :

    RETURN VALUE
    These calls return the number of bytes received, or -1 if an error occurred. The return value will be 0 when the peer has performed an orderly shutdown.
    En principe, ça doit débloquer le select() également, mais il faudrait que je vérifie pour l'affirmer.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 174
    Par défaut
    ok merci beaucoup pour tes réponses

    Bonne journée

  6. #6
    Membre actif
    Inscrit en
    Mai 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 36
    Par défaut
    une fermeture implicite c'est égal à fermeture sur "logiquement" mais en realité le client est toujours en connecté.

    une fermeture explicite sert à fermer definitivement la connection...
    bon... je suis pas très sur de ce que j'ai dis...

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

Discussions similaires

  1. Utiliser onUnload juste pour detecter fermeture navigateur
    Par speedev dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 31/07/2012, 10h09
  2. fermeture de socket
    Par youp_db dans le forum Réseau
    Réponses: 2
    Dernier message: 15/09/2006, 16h23
  3. Fermeture de socket me pose problème !
    Par MonsieurAk dans le forum Réseau
    Réponses: 2
    Dernier message: 15/05/2006, 23h03
  4. [Linux] Probleme de fermeture de Sockets
    Par diefo dans le forum Réseau
    Réponses: 6
    Dernier message: 30/12/2003, 13h10
  5. Réponses: 3
    Dernier message: 21/09/2003, 15h52

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