Meine Anwendung muss viele IP-Adressen auf einmal für die Geschwindigkeit der Ausführung des Codes pingen. Zum Beispiel würde das Pingen von 300 IP-Adressen, die nach einer Sekunde ablaufen, 5 Minuten dauern, während, wenn 20 zu einer Zeit ausgeführt werden, es nur ungefähr 15 Sekunden dauern wird.Wie kann ich mehrere Pings auf einmal unter Verwendung von Java unter Windows ohne ping.exe senden?
Ich habe versucht, Windows ping.exe dafür aufrufen, aber ich hatte zwei separate und ähnliche Probleme damit. Ein Problem ist, dass auf einigen Windows-Rechnern der Ping-Befehl scheinbar ohne Grund für Minuten anhält, bis ich den Thread töte und er stirbt. Das andere Problem, wir hatten ping.exe vollständig auf Maschinen brechen, wo jeder Ping.exe Aufruf für immer dauert, so Hunderte von ping.exe Prozesse beginnen zu häufen, bis der Computer abstürzt, und Ping.exe manuell von dem Befehl ausführen Linie in diesem Fall lässt nur einen anderen Ping-Prozess für immer hängen.
Ich habe versucht, eine Bibliothek mit dem Namen icmp4j zu verwenden, aber diese Bibliothek ermöglicht nur ein Ping zu einem Zeitpunkt auf Windows passieren.
Ich habe versucht, diese person's code und endete mit Problemen in meinem lokalen Netzwerk. Wenn Sie eine lokale Adresse anpingen, die nicht vorhanden war (in Ihrem Subnetz), können Sie anscheinend eine Antwort erhalten, die besagt, dass die Adresse nicht erreichbar ist. Bei genau 50% dieser Antworten würde ich eine Auszeit bekommen, und bei den anderen 50% würde ich "nicht pimpbar" bekommen.
Kennt jemand eine Methode zum Ausführen vieler Pings auf Windows zur gleichen Zeit ohne Verwendung von ICMP4J oder Ping.exe?
Mögliche Duplikat (http://stackoverflow.com/questions/11506321/java-code-to-ping-an-ip-address) – Tim
[Java-Code eine IP-Adresse ping] Werfen Sie einen Blick auf: http: //stackoverflow.com/questions/3584210/preferred-java-way-to-ping-a-http-url-for-availability –
@ JohnKane \t Das wird nicht funktionieren, weil ich tatsächlich einen ICMP-Ping tun muss, nicht eine Socket-Verbindung. – Jdban101