Bonjour,
J'utilise Dev-C++ 4.9.9.2 sous Windows XP, le compilateur est MinGW.
Mon but est d'utiliser poll() pour appliquer un timeout à une commande recvfrom().
D'après mes recherches, il existe select() à laquelle je ne comprends
rien, et poll() qui semble plus simple surtout avec des exemples.
(je me base sur http://hyatus.newffr.com/TAZ/Reseaux/prog_reseau1.html pour l'utilisation de poll() )
Et donc voici mon code :
Code :
- #include <winsock2.h>
- #include <sys/poll.h>
- #include "d:\Dev-Cpp\include\c++\3.4.2\cstdio"
- #define bzero(ptr,size) memset (ptr, 0, size);
- (bla bla bla...)
- struct pollfd fds;
- bzero(&fds, sizeof fds);
- fds.events = POLLRDNORM;
- fds.fd = id_de_la_socket;
- // jusqu'ici ça se compile bien
- if(poll(&fds, 1, 2000) > 0)
- {
- blablabla...
- }
|
Mon problème est qu'à la compilation, j'ai l'erreur suivante :
[Linker error] undefined reference to `poll'
Bigre.
J'ai déjà du récupérer manuellement un poll.h qui n'était pas fourni avec Dev-C++, mais visiblement il lui manque encore un truc. (ou peut être que le poll.h récupéré n'est pas le bon pour MinGW).
Est-ce que poll() est implémentée dans mon environnement ?
Sinon, au pire, quelqu'un aurait-il un exemple clair et simple de la fonction select() si je suis obligé de passer par ça ?
Merci d'avance,
Arnaud