Bonjour,
pour détecter les timeouts de mon serveur, j'utilise un deadline_timer de boost::asio.
Alors j'ai mon timer lié a ma méthode callback comme ca (dans le constructeur de ma connection):
Et lorsque j'envoie des données, j'attends confirmation de la réception.
Code : Sélectionner tout - Visualiser dans une fenêtre à part timer.async_wait(boost::bind(&tftp_connection::timeout_callback , this));
Le timer est assez important, 5 secondes, il ne devrait pas être atteint dans mes tests actuels:
Code : Sélectionner tout - Visualiser dans une fenêtre à part timer.expires_from_now(boost::posix_time::milliseconds(TIMER_DURATION));
Et ma callback ne fait pas grand-chose pour le moment:
Code : Sélectionner tout - Visualiser dans une fenêtre à part const int TIMER_DURATION = 5000; // ms
Mon problème:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 void tftp_connection::timeout_callback() { std::cout << "Time Out !\n"; }
A chaque recharge du timer, la callback est appelée, et je n'ai pas trouver le moyen de différencier le timeout atteint et le rechargement du timer.
Comment je dois m'y prendre ?
Merci !
EDIT: Ah... En fait, il ne passe qu'une fois dans ma callback, mais au tout début de la connection...
Partager