Bonjour tout le monde,
Je suis débutant en programmation "réseau" et j'ai remarqué quelque chose de bizarre et qui m'ennuie assez :p
Contexte : Il s'agit d'un application Windows destinée a fonctionner dans un petit réseau local (1 seul switch) qui va pinger et, plus tard, tester l'état de differents serveurs sur la machine.
Voici donc le morceau de code qui me pose "problème"
Mon problème :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 // Se trouve dans un bloc "try" InetAddress inad; inad = InetAddress.getByAddress(ip); // Ping if (inad.isReachable(2000)) { res[2] = "ON"; } else { res[2] = "OFF"; }
- le timeout est ici fixé à 2000ms, l'application fonctionne parfaitement ainsi mais engendre une perte de temps considérable.
- 2000ms est quasiment le minimum que je peux mettre pour que ca fonctionne alors qu'un ping.exe vers la machine distante donne un temps de réponse de grand maximum 2ms.
- j'ai sniffé le réseau à l'aide de Wireshark (Ethereal) et je remarque que mon programme réalise 3 échos, à la facon du ping.exe.
Pas grave me dis-je, je vais créer manuellement le socket sur le port 7 (echo), mais je remarque qu'il m'envoie à nouveau 3 échos!
Si vous avez une solution pour éviter ce triple echo, je suis tout ouïe![]()
Partager