begin process at 2012 02 12 04:36:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Réseau / Internet

 > 

socket: recv + timeout ???


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

socket: recv + timeout ???

vendredi 23 avril 2004 à 14:32:36 | socket: recv + timeout ???

oliverman


Salut tt le monde, En fait mon probleme, c'est que je voudrais utiliser un timeout avec la fonction recv. Est ce qu'il ya une fonction similaire qui propose cette fonction, ou un moyen detecter si il y a un message disponible sur mon socket???
Merci. Oliverman
vendredi 23 avril 2004 à 19:01:28 | Re : socket: recv + timeout ???

6co

salut,

d'après la doc microsoft, si ta fonction recv retourne une valeur de type int, tu peux la comparer à WSAETIMEDOUT si je ne me trompe pas... pour régler ce temps ou même connaitre sa valeur, j'en ai aucune idée

6co
dimanche 25 avril 2004 à 22:26:11 | Re : socket: recv + timeout ???

blazman34

moi je programme des socket sous linux, toi tu ne l'as pas preciser mais bon bref daprés ce ke jai vu il n'ya pas une difference enorme dans la syntaxe.

Pour ton probleme cherche du coté de la fonction select()
elle permet de te dire si telle ou telle socket est accessible en lecture, ecriture.
Et on peut y mettre un timer.

VOILA ;-)

(- Doudou -)
mardi 10 janvier 2006 à 17:57:17 | Re : socket: recv + timeout ???

amine2004

j avais tout a l'heure le meme probleme que toi voici la solution qui marche a 100% :
tu utilise la fonction select qui peut prendre un timeout voici le code qui peut regler l 'affaire:


fd_set input_set, exc_set; // Create Input set
int s;
timeval timeout;
timeout.tv_sec = 2; // Attends 2 sec pour returner.
timeout.tv_usec = 0;


while (1){  
 //Set up the input,and exception sets for select().   
 FD_ZERO(&input_set);   
 FD_SET(m_Socket, &input_set);   
 s = select(0 /* vive le c-unix */, &input_set, NULL, NULL,&timeout);
 if (s > 0) // Is there data coming in?  
 {       
  // tu fais un recv.   
 }   
 if (s == SOCKET_ERROR)   
 {       
   OutputDebugString("SOCKET_ERROR");       
   break;   
 }    
 if (s == 0)      
  OutputDebugString("no Data coming in");
}



Cette discussion est classée dans : fonction, socket, recv, timeout


Répondre à ce message

Sujets en rapport avec ce message

Vider le RECV Buffer d'une Socket ? [ par Kikyo ] Oauip c'est possible de vider le Buffer qui recoit les données, d'une Socket ? Timeout et Socket [ par epoc ] Est-ce que qqun sait comment gérer un timeout sur un socket? (Sans passer par un timer si possible.)Merci :-D Thread et socket udp [ par eurysthe ] Bonjour !!Voila j'ai un petit problème de thread qui me pourrit la vie.J'ai crée un thread qui doit écouter en boucle les informations qui transite su Evènement sur un socket client [ par darsh99 ] J'aimerais savoir si la méthode utilisée par BlackGoddess pour son serveur (http://www.cppfrance.com/article.aspx?ID=1287) est récupérable pour gérer recv() bloquant!! select?? [ par dletozeun ] bonjour,je commence la programmation reseau en utilisant les sockets et je me heurte a qques problemes:je me suis rendu compte que la fonction recv(.. socket fonction read [ par surfeurnet ] Quelqu'un pourrait m'indiquer si la fonction read existe sous windows, si oui dans quel .h est-elle définie, si non existe-t-il une fonction équivalen sockets: fonction recv()!!!!! [ par dletozeun ] bonjour,j'essais de faire communiquer 2 programmes avec les sockets.J'utilise la fonction recv():recv(m_socket,recvbuf,50,0);mais j'ai beau effacer la socket affichage de caractere [ par Shaihuld ] Bonjour,j'essais de faire communiquer 2 programes avec les sockets et send() et recv().ors d' une connection o server celui ci envoie une chaine hello socket et fonction send [ par blueburry ] Bonjour, je suis en train de manipuler des sockets et g besoin d'envoyer une chaine de caracteres stockee ds une variable de type string a partir de l faire un timeout avec une socket TCP sur un connect() [ par bobijoe ] Salut tout le monde,ca fait pas mal de temps que je me lutte pour faire un timeout sur une demande de connexion TCP.En clair je voudrais pouvoir arret


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,654 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales