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

VB.NET Discussion :

demande d'un petit eclairsissement,sur un petit bout de code .


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Tunisie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 141
    Par défaut demande d'un petit eclairsissement,sur un petit bout de code .
    salut,
    quelqu'un pourrait mieux m'expliquer ce micro bou de code ?
    et ce "do while True",il genere pas une boucle infinie ca ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
     Try
     
     
                Do While True
                    TryPing()
                    ' Sleep 900ms to be sure at least one Tick happens on each second
                    Thread.Sleep(900)
                Loop
     
            Catch ex As Exception
          end try

  2. #2
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Par défaut
    C'est effectivement une boucle infinie qui exécute la méthode TryPing() toutes les 900ms.
    D'après son nom, j'imagine que TryPing() exécute un ping vers une adresse donnée pour savoir si elle répond. Dans le cas où elle ne répondrait pas, il y a surement une levée d'exception qui permet de sortir de la boucle.

  3. #3
    Membre émérite Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Par défaut
    Effectivement, la seule porte de sortie est levée d'exception non gérée dans la méthode TryPing().

    Sauf que, conceptuellement, une méthode qui s'apelle TryQuelquechose() devrait renvoyée un booléen si ce qu'elle doit faire n'a pas réussit, plutôt que lever une exception. C'est mon point de vue évidement, mais si l'on observe le framework, c'est le même point de vue.

  4. #4
    Membre Expert Avatar de Danyel
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    1 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 699
    Par défaut
    Personnellement, quand je vois ce code, ca me laisse perplexe, meme si on ne doit pas avoir tout le code en relation.

    - Utiliser un boucle infinie de ce type ... mieux vaut utiliser un simple timer qui gerera mieux cela et dans ce cas.
    - Cependant et en extrapolant un peu, je pense que cette boucle a ete mise en place pour une sortie quand la classe TryPing() renvoi un false ...

  5. #5
    Membre émérite Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Par défaut
    Citation Envoyé par Danyel Voir le message
    - Cependant et en extrapolant un peu, je pense que cette boucle a ete mise en place pour une sortie quand la classe TryPing() renvoi un false ...
    Pas vraiment, vu qu'on ne récupère pas ce qu'elle pourrait renvoyer...

  6. #6
    Membre Expert Avatar de Danyel
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    1 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 699
    Par défaut
    Oui je sais, mais c'est ce qui m'est venu à l'esprit en premier en voyant le code.
    (puis j'ai bien dit : En Extrapolant )

  7. #7
    Membre Expert Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Par défaut
    Ou alors c'est un thread dédié à cette tâche ingrate, qui fait quelque chose avec ce ping (genre l'afficher ou le logger), et se fait lâchement tuer à la sortie de l'appli par le père ?

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 27/07/2011, 13h08
  2. demande un petit aide sur TOAD
    Par wagui26 dans le forum Débuter
    Réponses: 2
    Dernier message: 14/04/2008, 18h33
  3. Petite aide sur la comprehension d'un code
    Par Pauli dans le forum Langage
    Réponses: 2
    Dernier message: 20/05/2007, 20h24
  4. [Visuel XP] Petite question sur le theme XP...
    Par ZoumZoumMan dans le forum C++Builder
    Réponses: 12
    Dernier message: 20/01/2005, 14h41
  5. Petite question sur les performances de Postgres ...
    Par cb44 dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 13/01/2004, 13h49

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