[C] Comment detecter un TimeOut ?
Résolu
Bonjours.
Voilà, en gros je lance une fonction qui peux bloquer un certain temps ou pas duttout ( SDLNet_TCP_Recv( ); ). Avez vous une idée de comment je pourrai faire pour afficher un message d'erreur si jamais la fonction ne reponds pas au bout de 10sec par exemple. Un Timeout quoi. Merci
Voilà, en gros je lance une fonction qui peux bloquer un certain temps ou pas duttout ( SDLNet_TCP_Recv( ); ). Avez vous une idée de comment je pourrai faire pour afficher un message d'erreur si jamais la fonction ne reponds pas au bout de 10sec par exemple. Un Timeout quoi. Merci
A voir également:
- [C] Comment detecter un TimeOut ?
- Comment détecter un traceur sur téléphone - Accueil - Confidentialité
- Romaco timeout - Télécharger - Contrôle parental
- Détecter clé usb - Guide
- Le logiciel amd a détecté un dépassement de délai du pilote - Forum Carte graphique
- Un hyperviseur a été détecté. les fonctionnalités nécessaires à hyper-v ne seront pas affichées. - Windows 11
4 réponses
Naster : cf topic ;o)
Pour ton problème tu peux créer utiliser utiliser
- la fonction wait / waitpid : man 2 wait
- la fonction time : man time
Bonne chance
Pour ton problème tu peux créer utiliser utiliser
- la fonction wait / waitpid : man 2 wait
- la fonction time : man time
Bonne chance
Hum ... bien vu mamie.. !
sinon d'après ce que j'ai vu les fonction wait et time attendent toutes les 2 la fin d'execution de la fonction en question. peut être que je me trompe ?
Enfait, pour être un peu plus précis, je programme en C à l'aide de SDL ( parceque c multiplateformes ) et j'essaye de me connecter à un serveur. Et apparemment, la fonction de connection ne rend la main que si le serveur est joignable... sinon, elle bloque.
Bref, j'ai trouvé une solution bancale. Je lance la fonction dans une thread ( encore grace à SDL ) j'attends 0.5 seconde ( sleep(); ), et je tue la thread. Ensuite je regarde si elle avait fini ou pas !!!
Voilà, mais c'est pas très très Classe vu que dans la pluspart des cas je vais attendre pour rien.
sinon d'après ce que j'ai vu les fonction wait et time attendent toutes les 2 la fin d'execution de la fonction en question. peut être que je me trompe ?
Enfait, pour être un peu plus précis, je programme en C à l'aide de SDL ( parceque c multiplateformes ) et j'essaye de me connecter à un serveur. Et apparemment, la fonction de connection ne rend la main que si le serveur est joignable... sinon, elle bloque.
Bref, j'ai trouvé une solution bancale. Je lance la fonction dans une thread ( encore grace à SDL ) j'attends 0.5 seconde ( sleep(); ), et je tue la thread. Ensuite je regarde si elle avait fini ou pas !!!
Voilà, mais c'est pas très très Classe vu que dans la pluspart des cas je vais attendre pour rien.
sinon d'après ce que j'ai vu les fonction wait et time attendent toutes les 2 la fin d'execution de la fonction en question. peut être que je me trompe ?
Le wait oui, le time non :
Voilà, mais c'est pas très très Classe vu que dans la pluspart des cas je vais attendre pour rien.
Boarf ta solution est pas si mal que ça ;) L'informatique c'est parfois peu subtil ^^
Le wait oui, le time non :
#include <time.h> time_t time(time_t *t);
Voilà, mais c'est pas très très Classe vu que dans la pluspart des cas je vais attendre pour rien.
Boarf ta solution est pas si mal que ça ;) L'informatique c'est parfois peu subtil ^^