[C -socket] cas particulier select()
bonjour a tous j'ai un cas particulier de l'utilisation de select() avec une socket et j'aurais aimé avoir de l'aide
Code:
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 38 39 40 41 42
|
fd_set readfs
struct timeval tv; // on defini la struct
// creation du socket
WSADATA WSAData;
SOCKADDR_IN configsock;
SOCKET monsock;
monsock = socket(AF_INET,SOCK_STREAM,0);
....... configsock.sin_addr.s_addr.....
//connection de la socket
connect(monsock , (SOCKADDR*)&configsock, sizeof(configsock));
......... .............
FD_ZERO(&readfs);
FD_SET(monsock, &readfs);
tv.tv_sec = 5;
tv.tv_usec = 0;
// debut du while
while( InternetCheckConnection("http://www.google.fr", FLAG_ICC_FORCE_CONNECTION, 0) != FALSE )
{
...........................
if( select( monsock + 1, &readfs, NULL, NULL, &tv) == -1 )
{
printf("\n arreté la socket avec un TIME-OUT \n");
closesocket(monsock);
}
} |
voila un bout de code vite fait recopié , mon soucis c 'est que le timeout du select() n'a aucun effet sur la connection du socket et je n'arrive pas a determiné un temps de timeout.
je voudrai reussir a dire = If mon socket ne recoit rien pendant 5minutes le deconnecté .
merci de votre compréhension .