IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau C Discussion :

Réaliser un Timer en C


Sujet :

Réseau C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 15
    Par défaut Réaliser un Timer en C
    Bonjour, je voudrais realiser un timer en C.
    Le but est de donner duree a l'execution d'un certain nombre de tâche, une fois la limite atteint on n'attend plus la fin de cette execution, on sort de cette execution.

    J'ai donc voulu réaliser un mécanisme de timeout en partant sur cette base:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
            struct timeval T;
    	T.tv_sec=5;
    	T.tv_usec=0;
    Le probleme c'est comment faire pour lancer le timer?

    Car il y a un moment où je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if(T.tv_sec==0)
    	{
             //codes...
            }

    Je ne sais si quelqu'un aurait une idee, merci.

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    tu as tout un thread avec l'exemple d'utilisation (et d'autres choses d'intérêt) ici-même :

    http://www.developpez.net/forums/sho...d.php?t=319576

    Bon courage


  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 15
    Par défaut
    merci
    mais d'apres ce que j'ai lu sur la discussion a laquelle tu me renvois, il y'a des soucis.
    souviron34
    Membre Expert

    Inscription: janvier 2007
    Localisation: Vers Béziers... Et Canada
    Âge: 49
    Messages: 1 162

    Par défaut
    Citation:
    fearyourself a écrit :
    Hmm cela me semble bizarre souviron34, serait-ce possible d'avoir un petit exemple qui affiche "Hello World\n" toutes les 5 secondes ?

    Jc
    oui c'est vrai que ça ne marche pas si tu es dans une opération qui occupe tout le CPU (exemple une boucle infinie).

    De plus, j'avais oublié un truc, le setitmet (que j'include quand même, même si le code n'est pas correct pour ce problème).
    __________________
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif
    Mon processus est déjà un thread et c'est dans ce thread que je veux faire un timeout.

    Merci je regarde ton code.

  4. #4
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par =o0 MOH =0o=
    Mon processus est déjà un thread et c'est dans ce thread que je veux faire un timeout.
    Quel système ?
    Il fait quoi le thread ?
    Un timeout sur quel genre d'évènement ?
    select() répond-il au besoin ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 15
    Par défaut
    C'est vrai que j'ai pas précisé:
    Citation Envoyé par Emmanuel Delahaye
    Quel système ?
    Il fait quoi le thread ?
    C'est une communication type socket entre un serveur windows(c#) et des clients linux(c). Chaque fois quun client se connecte un thread est créé coté serveur pour le traitement du client
    Un timeout sur quel genre d'évènement ?
    select() répond-il au besoin ?
    mon client linux envoi un message et attend la reponse du serveur, donc je veux
    paramétrer cette attente par un timeout coté client.

    Donc mon souci est de trouver un moyen de réaliser ce timeout, merci

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    OK mais tu l'effectues comment l'attente de la réponse ?

    Ce que voulais dire Emmanuel c'est utilises-tu select ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réaliser un minuteur (timer)
    Par jorg1n dans le forum C
    Réponses: 2
    Dernier message: 23/12/2008, 00h58
  2. Réponses: 3
    Dernier message: 03/06/2008, 10h07
  3. réaliser un timer
    Par canary dans le forum Langage
    Réponses: 8
    Dernier message: 03/01/2008, 17h47
  4. Comment réaliser une horloge numérique grâce au timer 8254 ?
    Par jojo_ol76 dans le forum Autres architectures
    Réponses: 1
    Dernier message: 29/03/2007, 19h56
  5. [imprecis]Réaliser a^n avec seulement l'opérateur d'addition
    Par Amon dans le forum Algorithmes et structures de données
    Réponses: 18
    Dernier message: 08/11/2002, 22h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo