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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 .
Partager