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.
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.
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
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"); ... } ...
Non pas vraimet..ça ne sert pas à la même chose...
ne rien toucher à l'état du socket...
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager