1. Mentions légales

Comme souvent avec des codes très fréquemment utilisés, le copyright sur ce code a été perdu dans l'immensité de l'Internet. (ce code a été retrouvé avec plusieurs copyrights distincts sur des sites differents :o) . Bien sûr, je ne prétends pas être l'auteur de ce code, mais j'ai rajouté un certain nombre de commentaires pour une plus grande compréhension du fonctionnement de cette routine...

2. Qu'est-ce que le PING (petit rappel de base) ?

Envoyer un ping sur une machine consiste à envoyer un paquet spécial sur le port 7 (écho) de la machine distante. Celle-ci répond alors en renvoyant à l'identique le message envoyé. Mais les choses sont plus compliquées que ça (malheureusement). Le ping se fait à l'aide d'un protocole particulier nommé ICMP (Internet Control Message Protocol), qui ne se contente pas d'envoyer un packet sur le port 7 (chose qu'on pourrait faire plus simplement), mais récupère encore le temps de réponse et bien d'autres choses encore.

3. Comment coder le ping en VB ?

Tout d'abord, il est nécessaire de déclarer toutes les fonctions dans un module standard BAS.

 
TéléchargerCacherSélectionnez

4. Comment utiliser ce code?

Une fois qu'on a tout ce code, on va faire un petit exemple d'application.
Créez un Exe Standard VB et placez dans le formulaire:

  • Un bouton de commande (Command1)
  • Trois champs de texte nommés Text1,Text2 et Text3
  • Un tableau de six champs de texte (de Text4(0) à Text4(5))

Les correspondances entre les résultats et les champs sont décrits sur cette image:

Image non disponible

Puis, ajoutez dans la section Général --> Déclarations du formulaire le code suivant:

 
TéléchargerCacherSélectionnez

Entrez un nom (ex. "www.google.fr" dans le champ text1), cliquez, et admirez le résultat!

Voilà, maintenant vous savez faire un ping sur une machine! C'est-y pas merveilleux??? :o)

Bon, c'est un peu compliqué, mais le copier-coller est là pour ça...

Note ultra-importante: Beaucoup d'administrateurs désactivent le ping sur leurs machines pour éviter les attaques DoS de type flood. Par conséquent, le code (aussi bien que la commande ping traditionnelle) ne recevra pas de réponse de ce genre de serveurs.

Télécharger le projet exemple (ExemplePing.zip, 5.5ko)

Ce code a été testé sous Win98, NT4, 2000 et XP Pro sans problèmes...