Salut à tous. Je fais une application qui nécessite de scanner le réseau local pour trouver d'autres ordinateurs disposants de l'application. Mon problème, c'est qu'en dessous d'un timeout de 1000 millisecondes, il ne me trouve plus des ordinateurs pourtant connectés. Voilà le code test :Si je lance le code ci-dessus, ça marche. Mais dès que je change ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 try { InetAddress localAddress = InetAddress.getLocalHost(); String hostIp = localAddress.getHostAddress(); System.out.println(hostIp); int number = Integer.parseInt(hostIp.substring(hostIp.lastIndexOf(".") + 1)); String rootIpPart = hostIp.substring(0, hostIp.lastIndexOf(".") + 1); System.out.println(rootIpPart); for(int i = 1; i < 255; i++) { if(i == number) { continue; }else { InetAddress distant = InetAddress.getByName(rootIpPart + i); if(distant.isReachable(1000)) { System.out.println(rootIpPart + i + " : Reachable"); }else { System.out.println(rootIpPart + i + " : Unreachable"); } } } }catch(Exception e) { e.printStackTrace(); }par cela
Code : Sélectionner tout - Visualiser dans une fenêtre à part distant.isReachable(1000)il ne me trouve plus mes pc
Code : Sélectionner tout - Visualiser dans une fenêtre à part distant.isReachable(850)!
C'est très dérangeant, car attendre 1 seconde entre chaque test devient vite insupportable... Est-il techniquement possible de diminuer ce temps d'attente tout en faisant en sorte que les ordinateurs bien présents puissent avoir le temps de répondre ?!
Merci.
Partager