Fonction select() sur l'entrée std

Fonction select() sur l'entrée std - C - Programmation

Marsh Posté le 07-03-2005 à 14:06:23    

Bonjour,
 
Dans un des mes programmes, je dois surveiller un ensemble de descripteurs (plusieurs sockets et l'entrée std). J'initialise donc le tout avec les bonnes macros (FD_ZERO, FD_SET... dont FD_SET(0, &readfs) pour l'entrée std) puis je teste l'ensemble des descripteurs (fd_set) avec la fonction select(). J'ai aucun soucis ... Malgré tout, mon code doit être portable et sous Windows, l'execution du programme me retourne l'erreur WSAENOTSOCK. J'ai donc testé sur chaque descripteur et je me suis aperçu que "0" ne correspondait pas à l'entrée std sous Windows.  
J'ai donc utilisé GetStdHandle(STD_INPUT_HANDLE); qui retourne un HANDLE sur l'entrée std mais je ne sais pas comment l'utiliser avec FD_SET().
 
Des idées ?
Merci

Reply

Marsh Posté le 07-03-2005 à 14:06:23   

Reply

Marsh Posté le 07-03-2005 à 18:35:39    

GetStdHandle >> tu es apparement sous windows, peut-etre y a-t-il une solution en utilisant les events winsock (WSAEVENTS) avec les evenements de windows ?


---------------
-( BlackGoddess )-
Reply

Marsh Posté le 08-03-2005 à 12:43:38    

J'ai resolu le problème en mettant un scanf dans un thread et le recv de la socket dans un autre.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed