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 :

différence entre poll et select


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 différence entre poll et select
    Bonjour,
    j'aimerais savoir quelle est la différence entre poll et select. Quand je lis les docs les deux attendent qu'un évènement ait lieu sur une socket ...
    Quand est ce qu'il faut utiliser l'un plutot que l'autre ?
    Merci d'avance.

  2. #2
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 254
    Points : 538
    Points
    538
    Par défaut
    le select est plus facile a utiliser mais le poll est plus complet il me semble.
    "L'insanité consiste à répéter la même action dans l'espoir d'aboutir à un résultat différent" Albert Einstein
    ----------------------
    T.O.A.O 6-MarViN

  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
    1) Donc si j'ai bien compris tout ce que fait select, poll il peut le faire. Mais qu'est ce que
    poll peut faire et que select ne peut pas ... ?
    2) J'ai une autre question : je pense que l'appel à poll n'a un sens que si la socket est bloquante. Est ce vrai ? En effet, dans le code ci-dessous, j'ai pas vraiment compris pourquoi on définit une socket non bloquante puis on fait un poll ( sockwait fait appel à poll) ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    socknonblocking(sock, 1);
    if (connect(sock, (sockaddr *)dst, sizeof(dst))) {
       case EWOULDBLOCK:
        		lk.unlock();
    		if (!sockwait(sock, WaitTimeout, POLLOUT)) {
        			log(DEBUG, "Success polling for connect");
               ...
                    }
    ...

  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
    1) Donc si j'ai bien compris tout ce que fait select, poll il peut le faire.
    Non pas vraimet..ça ne sert pas à la même chose...


    Citation Envoyé par ikuzar Voir le message
    Mais qu'est ce que
    poll peut faire et que select ne peut pas ... ?
    ne rien toucher à l'état du socket...


    Citation Envoyé par ikuzar Voir le message
    2) J'ai une autre question : je pense que l'appel à poll n'a un sens que si la socket est bloquante. Est ce vrai ?
    Non, c'est le contraire...

    Si le socket est en mode bloquant, select, qui est bloquant, est intéressant.

    Si le socket est en mode non-bloquant, untilser select bloque le reste de l'application tant qu'il n'y a pas de réponse.. Utiliser poll pour aller voir régulièrement si quelque chose est à lire permet de continuer l'application sans tout bloquer (par exemple figer une IHM)..
    "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. Différence entre execute et select
    Par Papy214 dans le forum SQL
    Réponses: 4
    Dernier message: 21/05/2014, 09h35
  2. PL/SQL différence entre deux dates et select into
    Par athone666 dans le forum PL/SQL
    Réponses: 2
    Dernier message: 01/07/2009, 10h38
  3. [VBA pour Excel] Différence entre activate et select
    Par loacast dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/10/2008, 17h20
  4. Différence entre un select max et un select top 1
    Par Delphi-ne dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 24/06/2008, 09h05
  5. Réponses: 7
    Dernier message: 27/02/2008, 13h55

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