begin process at 2012 05 29 05:54:07
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

Faire un timeout sur une question/réponse


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

Faire un timeout sur une question/réponse

jeudi 17 janvier 2008 à 18:36:19 | Faire un timeout sur une question/réponse

gilleshugues

Voila mon problème .

J'ai 2 applis qui échangent des données via un socket . L'appli qui questionne est en C++ (MFC) et celle qui
répond en VB . Jusqu'ici rien de méchant .

Mon appli C++ pose une question :

MainSocket.Send("QUESTION");

Puis attend la réponse de l'appli VB , mais avec un timeout de 2s , donc on doit sortir
de la boucle si on a des données dans le MainSocket , ou bien au bout des 2s (variable bTimeOut) .

Ca marche assez bien , mais si l'appli VB ne répond pas , et malgré le "PeekMessage" qui revient donc
à peu près au même qu'un DoEvents j'ai quand même la CPU qui monte à 50% environ , et mon menu
déroulant est comme "figé" .

J'ai entendu parler de Threads , mais je ne vois pas très bien ce que ça pourrait faire .

CWinApp* pApp = AfxGetApp();
MSG msg;

// Boucle d'attente (maxi 2 secondes)
do
    {
     // Récupère l'heure courante
     ActualTime = CTime::GetCurrentTime();
     // Regarde le nombre de secondes écoulées depuis le lancement (je sais
     // à minuit ça va planter)
     nsec = ActualTime.GetSecond() - BeginTime.GetSecond();
     // Si on a passé 2 secondes alors Timeout pour sortir de la boucle
     if (nsec > 2) bTimeout = true ;
     // DoEvents
     while ( PeekMessage ( &msg, NULL, 0, 0,PM_NOREMOVE )) pApp->PumpMessage();
    }
while (MainSocket.m_strRecv.IsEmpty() && bTimeout == false);

Merci d'avance pour votre aide .


jeudi 17 janvier 2008 à 22:38:30 | Re : Faire un timeout sur une question/réponse

nickydaquick

Membre Club
Salut
utilise un thread pour monitorer ta socket , avec un select .
dans le select utilise un timeout de 2secs(ou du nombre de secondes que tu veux) , si le select retourne au bout du timeout que tu n'as pas de reponse, alors agit en consequence.

ca c'est algorithme en gros (corrigez-moi si je rate qqch).
A moins de me tromper , ton application fige justement parce que tu fais une boucle et que tu attends que la socket te reponde , so si ton timeout est 10 secondes (imagine le client au SAHARA et toi en france)
ton appli va geler 10 secondes avant de prendre une decision....!

je suis heureux de faire partie d'une grande famille ...!
dimanche 20 juillet 2008 à 15:42:48 | Re : Faire un timeout sur une question

charbit

Bonjour, je debute en C++ et j'ai besoin qu'un programme execute quelque chose si l'utilisateur n'a pas rentré une donnée dans les 20 secondes.
J'aurais par ailleurs besoin de rentrer des données dans une base de donnée (access) dans ces données figure le temps.....
Je ne sais pas du tout comment m'y prendre. Merci de m'aider.



Cette discussion est classée dans : réponse, vb, appli, question, timeout


Répondre à ce message

Sujets en rapport avec ce message

presser une touche d'une autre appli [ par sena ] Bonjour,je voudrais savoir si il est possible de simuler la pression d'une touche (par exemple la lettre 'k') dans un prog C/C++ avec PostMessage(..) la question qui tue ! [ par cedcrow ] Salut,je lance une application windows fille(B) à partir d'une dll d'une appli windows mère(A). Pour cela je fait un spawn avec le paramètre _P_WAIT p Envoi d'un mot binaire [ par seblutfr ] Bonjour à tous,Je suis en train de préparer en VB une appli qui se charge de créer un mot binaire de 25 éléments. Ce mot doit ensuite être envoyé vers URGENT SVP::une question sur le methode autoredraw en vb [ par cheby ] SALUT TOUT LE MONDEj'aurais une peite question sur la methode autoredraw en vb comment peut on la traduire en c sous forme d'une fonction?merci d'avan Application de questionnaires [ par jpcoffe ] Je souhaite développer une application permettant de répondre à un questionnaire sous forme de QCM. Le questionnaire doit pouvoir contenir un très gra Construction d'un arbre à partir d'un fichier [ par psgkiki ] Bonjour a tous, Ma question est comment construire un arbre contenant des données stockées dans un fichier. C'est pour un logiciel de devinette d'anim problème de chaine de caractère [ par crawhawks21 ] Bonsoir,je suis nouveau ici et je ne sais pas si je m'adresse au bon endroit pour trouver une réponse à mon problème, voilà je débute en programmation Question sur l'API Win32 [ par NikoGJ ] Bonjour Ca fait déjà un moment que je cherche la réponse à cette question, mais je n'ai pour l'instant pas eu de réponse précise J'ai Question vocabulaire C++, vraiment très simple !!! [ par grivel ] Bonjour à tous, je code actuellement en VB et je n'ai jamais fait de C++. Seulement, il y a une source que je dois traduire du C++ vers VB.J'ai donc q API Setpixel [ par Stephane ] Salut a tous voila, j'utilise l'API SetPixel pour remplir une zone dont je connais le HDC (passée en parametre par une appli VB). Mon probleme est qu


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 0,811 sec (4)

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