Aide sur la fonction SetSockOption [Résolu]

Signaler
Messages postés
49
Date d'inscription
mardi 14 février 2006
Statut
Membre
Dernière intervention
27 novembre 2007
-
Messages postés
49
Date d'inscription
mardi 14 février 2006
Statut
Membre
Dernière intervention
27 novembre 2007
-
je suis entrain de developper une application pour transfert de fichier en C++, et j'ai besoin de modifier les options du socket pour qu'il ne bloque pas indefiniment lorsque une erreur de transmission est surevenue et pour que je puisse renvoyer le paquet en question.
je sais que c'est possible de gerer les options du socket avec SetSockOption( ), mais je n'ai trouvé aucune documentation a ce sujet, si qlq un peut m'aider ou qui a un exemple d'utilisation ça serait tres bien.
merci

4 réponses

Messages postés
49
Date d'inscription
mardi 14 février 2006
Statut
Membre
Dernière intervention
27 novembre 2007

voila j'ai trouvé une petite astuce utilisant la fonction select( )

 fd_set ensemble;
 FD_ZERO(&ensemble);
 FD_SET(sockfd,&ensemble);
 
 select(0, &ensemble, 0, 0, &TimeOut);
 if(FD_ISSET(sockfd,&ensemble)!=0) {
    recvfrom(sockfd,Buffer,sizeof(Buffer), 0,(sockaddr *)&serveur_addr,&serveur_addrLen );

else cout<<"Toujours rien."<<endl;

ce code permet de faire un timeout sur la fonction recvfrom.
la variable TimeOut est est une structure timeval, et ça se declare comme ça.
 timeval TimeOut;         
 TimeOut.tv_sec=5;
 TimeOut.tv_usec=0;
Messages postés
1403
Date d'inscription
lundi 23 février 2004
Statut
Membre
Dernière intervention
11 janvier 2009
3
Salut !

Si j'ai bien compris, tu veux que les fonctions des sockets soient non bloquantes.
Pour ça regarde : WSAAsyncSelect(...);

YOYO, @+.
"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"
____________________________________________
[Site officiel de YoyoCut, découpe fichiers open source]
Messages postés
492
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
12 janvier 2012
1
Je te conseil de regarder la fonction ioctl

<hr size="2" width="100%" />TuRn3r
Messages postés
49
Date d'inscription
mardi 14 février 2006
Statut
Membre
Dernière intervention
27 novembre 2007

ok merci les gars, je vais voir ça !