Socket en attente de message [Résolu]

Signaler
Messages postés
7
Date d'inscription
jeudi 10 février 2005
Statut
Membre
Dernière intervention
2 juin 2005
-
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
-
Il y a un moyen de faire en sorte qu'une socket tcp en c++ attende seulement un certain temps une reponse ? En fait, je voudrais que si au bout de 15 secondes ma socket a pas recu de message, he bien qu'elle passe a autre chose !


char charMsg[MAX_RECV_LEN];
recv(socketId,charMsg,1,0);

Une idee ?

6 réponses

Messages postés
540
Date d'inscription
dimanche 29 décembre 2002
Statut
Modérateur
Dernière intervention
13 mai 2011

Je te conseil ça :

1.rend ta socket non bloquante : ioctlsocket cmd:FIONBIO

char buffer[MAX_RECV_LEN];

DWORD Time1 = GetTickCount();
do
{
int recu = recv(...buffer....
if(recu != error || recu != 0)
break;
}
while((GetTickCount()-Time1)<15000);

Stef
http://www.poppyto.net LE site pour les bassistes
Messages postés
7
Date d'inscription
jeudi 10 février 2005
Statut
Membre
Dernière intervention
2 juin 2005

Et si c'etait pas possible de mettre un timer, est-ce que c'est possible de s'envoyer soit meme un message, histoire que la socket recoive quelque chose et donc soit debloquee ??
Messages postés
949
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006

Il faut utiliser la primitive select()
qui permet de définir un time out ainsi que de vérifier s'il y a des
données à lire ou à écrire sur un ensemble de descripteurs.

Tu devrais trouver des tas d'exemples sur le site ou sur le net.

Kaid - kaid.fr.st
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Oui mais recv n'est pas bloquante poppyto? (je me rapelle plus...)
Messages postés
540
Date d'inscription
dimanche 29 décembre 2002
Statut
Modérateur
Dernière intervention
13 mai 2011

>>vecchio56

Relis mon post ;o) "1.rend ta socket non bloquante : ioctlsocket cmd:FIONBIO "

http://www.poppyto.net LE site pour les bassistes
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
oups, désolé!