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 :

socket en mode non-blocking


Sujet :

Réseau C

  1. #1
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    630
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 630
    Points : 234
    Points
    234
    Par défaut socket en mode non-blocking
    Bonjour,
    j'aimerais savoir ce que signifie " socket en mode non-bloking".
    Merci d'avance pour votre aide.

  2. #2
    Membre du Club
    Inscrit en
    Juin 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 32

    Informations forums :
    Inscription : Juin 2009
    Messages : 33
    Points : 43
    Points
    43
    Par défaut
    Je crois que cela signifie que lors de l'appel à une fonction du genre "recv" ou "recvfrom" (pour récupérer des octets reçus), eh bien s'il n'y a rien à récupérer, la fonction se termine sans attendre.
    En mode bloquant, la fonction attendra l'arrivée d'au moins un caractère pour "rendre la main", ce qui bloque évidemment l'exécution du programme si aucun octet n'est reçu !

  3. #3
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    630
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 630
    Points : 234
    Points
    234
    Par défaut
    En mode bloquant, je crois que la fonction ne rend la main que si toutes les données ont été lues ... Un seul caractère ne suffit donc pas pour rendre la main à mon avis.

    J'ai lu les explications qui sont ici http://www.quantic-storm.com/qs/inde...03&language=FR
    Si j'ai bien compris :
    1) le mode bloquant est intéressant quand on est à peu près sur que les données arrivent dans le socket sans qu'il n 'y a ait une latence importante entre l'émission et la réception. Dans le cas contraire, la fonction appelante sur la socket risque de monopoliser le processeur ...
    2) le mode non bloquant est intéressant quand il y a une latence importante entre l'émission des données par l'application distante et la réception au niveau de la socket..

    J'ai une autre question :
    Est ce que il y a des situations ou on n'a pas le choix ... ?

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par ikuzar Voir le message
    J'ai une autre question :
    Est ce que il y a des situations ou on n'a pas le choix ... ?
    oui, dans un cas comme dans l'autre...

    Mode bloquant :

    on a besoin de la réponse pour continuer...


    Mode non-bloquant :

    les données reçues arrivent à n'importe quel moment.. Soit on tourne inutilement pendant des plombes, en regardant régulièrement si il y a quelque chose en mode bloquant, et du coup il faut un time-out assez court, mais de toutes façons pendant ce temps on bloque, soit on continue, et quand quelque chose arrive, et à ce moment-là seulement, on le traite...
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

Discussions similaires

  1. Utilisation de TTCPClient en mode non blocking
    Par franckcl dans le forum Langage
    Réponses: 0
    Dernier message: 09/04/2013, 10h56
  2. Passer une socket en mode non bloquant
    Par ProgVal dans le forum Langage
    Réponses: 2
    Dernier message: 24/12/2009, 21h15
  3. communication Port Usb en mode non bloquant
    Par laurentleroy dans le forum C
    Réponses: 4
    Dernier message: 28/10/2007, 23h29
  4. Plantage en mode non-debug
    Par ptitJP dans le forum MFC
    Réponses: 10
    Dernier message: 01/06/2006, 11h17
  5. Réponses: 3
    Dernier message: 24/05/2006, 18h02

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