bonjour ,

j'utilise une socket UDP . Cela fonctionne bien . Jai un problème au niveau du timeout .
je n'arrive pas à le faire correctement fonctionner . Donc si pas de réponse du serveur , la fonction send bloque complètement .

J'ai regardé plein de FAQ et forum .
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
fd_set fds ;
struct timeval tv ;
tv.tv_sec = 5 ;
tv.tv_usec = 0;
// Set up the file descriptor set.
FD_ZERO(&fds) ;
FD_SET(id_socket, &fds) ;
// Set up the struct timeval for the timeout.
int erreur_timeout= select ( id_socket, &fds, NULL, NULL, &tv )  ;
erreur=WSAStartup(MAKEWORD(2,2),&initialisation_win32);
id_socket=socket(AF_INET,SOCK_DGRAM,0);
serveur_snmp.sin_family=AF_INET; // Indiquez l'utilisation d'IPV4
serveur_snmp.sin_addr.s_addr=inet_addr(Hostname); // Indiquez l'adresse IP de votre serveur
serveur_snmp.sin_port=htons(port); // Port TCP  à destination du serveur
 
if (erreur_timeout < 1 )
	{
	 ShowMessage("Pas de réponse de l'équipement ou erreur comunication !");
 
   }
la fonction select renvoie toujours -1 .

Je recherche doc ou bout de code

merci par avance