1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| /* Fonction pour passer un socket en mode bloquant ou non
------------------------------------------------------ */
BOOL RegleNonBloquant(SOCKET s, BOOL bNonBloquant)
{
BOOL bRetour;
unsigned long ulBoolNonBloquant=(unsigned long)bNonBloquant;
unsigned long ul, tul;
//bRetour=(WSAAsyncSelect( s, NULL, WM_NULL, 0)==0);
bRetour = (WSAEventSelect(s, 0, 0)==0);
if(bRetour==FALSE)
{
// Erreur...
return FALSE;
}//if !bRetour
bRetour = (WSAIoctl(
s, //socket
FIONBIO, //mode bloquant/non-bloquant
&ulBoolNonBloquant, //Non-nul pour nb, nul pour bloquant
sizeof(ulBoolNonBloquant), //Taille du paramètre d'entrée
&ul, //buffer de sortie
0, //Taille du buffer de sortie
&tul, //Pointeur pour retour taille de la valeur sortie
NULL, //LPOVERLAPPED: Je ne sais pas ce que ç'est, mais c'est NULL
NULL //Sais pas ce que c'est non plus, mais c'est NULL aussi.
)==0);
if(bRetour==FALSE)
{
//Erreur...
}//if !bRetour
return bRetour;
} |
Partager