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

 Delphi Discussion :

Timer ou thread


Sujet :

Delphi

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2010
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Timer ou thread
    Bonjour,

    Pouvez vous me conseiller le choix de plusieurs timeur ou l'utilisation des threads dans mon projet?

    Mon projet consiste a faire des ping ICMP rapide pour la surveillance d'équipements réseaux, donc les équipements sont classé par catégories et chaque équipement est représenté par sont adresse IP, pour chaque famille je doit réserver soit un timeur soit un thread qui fait une attente de X seconde puis fait des ping ICMP a la liste d'équipements qui compose sa propre famille puis il attend de nouveau les X seconde.

    Je croit que c'est bien expliquer

    Merci

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 460
    Points : 24 877
    Points
    24 877
    Par défaut
    Un Timer pourrait être valable mais si l'on utilise l'application, cela ne traitera pas les PING

    Un Thread, cela reste facile à mettre en place pour ce type de besoin (juste surcharge de Execute et while not terminated ...)
    Une ThreadList pourrait utiliser pour signaler les erreurs (elles seraient affiché via un Timer ou un Synchronize)

    Tu n'es pas obligé de faire un Thread par famille (tout en dépend le nombre), mais si ta précision est à la seconde, tu peux très bien faire un système de "taches planifiées", tu démarres le Thread, tu lance le Check de toutes les familles (tu as une liste qui énumère les IP et la dernière heure de Ping), ensuite tu relances régulièrement un parcours de la liste et regarde les Ping à effectuer (ceux dont la Date a dépassé Now()) et bien sur tu mets à jour la date de dernier Ping (là tu peux récupérer Now() et retirer le temps perdu si il y a un léger retard (le temps des autres pings qui aurait été fait en même temps)
    Si chaque famille à une fréquence différente, cela devrait fonctionner sans trop de soucis (au moment ou tu tombes sur un PPCM des fréquences tu auras un petit risque de retard)



    Si tu veux le code adapté de la MSDN du ICMP pour le Ping, voir ici
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 130
    Points : 46
    Points
    46
    Par défaut
    J'utilise dans le logiciel que je développe les Timers comme des threads. Ca a l'avantage d'être très facile à gérer, l'inconvénient est que ce n'est pas dynamique : on ne peut pas créer ou supprimer un thread timer en fonction de ce qu'il se passe dans le programme principal ou dans un autre thread timer.

    Dans la mesure où je ne suis pas un programmeur chevronné, je m'en tiendrai néanmoins aux Timers, d'autant plus qu'ils font exactement ce que je leur demande. Et au fond, l'essentiel est là.

  4. #4
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    Citation Envoyé par farkess Voir le message
    Bonjour,

    Pouvez vous me conseiller le choix de plusieurs timeur ou l'utilisation des threads dans mon projet?

    Mon projet consiste a faire des ping ICMP rapide pour la surveillance d'équipements réseaux, donc les équipements sont classé par catégories et chaque équipement est représenté par sont adresse IP, pour chaque famille je doit réserver soit un timeur soit un thread qui fait une attente de X seconde puis fait des ping ICMP a la liste d'équipements qui compose sa propre famille puis il attend de nouveau les X seconde.

    Je croit que c'est bien expliquer

    Merci
    pour moi un seul timer suffit largement.

    il peut être fixé à 1 seconde (ou plus) et à chaque déclenchement ton programme regarde s'il n'y a pas une ou plusieurs catégories à tester
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

Discussions similaires

  1. [TJvTimer] Timer JVCL thread
    Par dvarrel dans le forum Composants VCL
    Réponses: 1
    Dernier message: 14/08/2008, 22h35
  2. JavaME : Timer et thread graphique
    Par ®om dans le forum Java ME
    Réponses: 5
    Dernier message: 31/01/2008, 15h31
  3. Actualisation périodique : timer ou thread ?
    Par Shredder dans le forum Langage
    Réponses: 12
    Dernier message: 02/11/2007, 08h52
  4. Un timer ? Plein de Timer ? un thread de control ?
    Par vincedom dans le forum Threads & Processus
    Réponses: 2
    Dernier message: 12/06/2006, 13h18
  5. [MFC] Cherche Timer avec thread
    Par romeo9423 dans le forum MFC
    Réponses: 17
    Dernier message: 09/03/2005, 10h33

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