Uygulamamın, kodun yürütülmesi için birçok IP adresini bir kerede ping etmesi gerekiyor. Örneğin, bir saniyeden sonra zaman aşımına uğrayan 300 ip adresi ping işlemi 5 dakika sürecektir, oysa bir seferde 20 çalıştırılırsa, sadece yaklaşık 15 saniye sürecektir.Windows'ta Java kullanarak ping.exe'yi kullanmadan birden fazla ping'i aynı anda nasıl gönderebilirim?
Bunun için windows ping.exe'yi çağırmayı denedim, ancak bununla iki ayrı ve benzer sorun yaşadım. Bir sorun, bazı windows makinelerinde, ping iş parçacığını öldürene kadar hiçbir sebep göstermeden dakikalarca bekleyeceğim ve ölür. Diğer bir sorun, ping.exe herhangi bir ping.exe çağrısı sonsuza kadar sürer önce makineleri üzerinde tamamen kırdı ettik, bu yüzden yüzlerce ping.exe süreçleri makine çöker kadar kazık başlar ve komut ile elle ping.exe çalışan Bu durumda satır sadece sonsuza kadar başka bir ping işlemi bırakır.
Ben icmp4j adında bir kütüphane kullanarak denedi, ama bu kütüphane sadece Windows üzerinde gerçekleşmesi seferinde bir ping sağlar.
Bu person's code numaralı telefonu denedim ve yerel ağımda sorunlara yol açtım. Var olmayan bir yerel adrese (alt ağınızda) ping yaparken, adrese ulaşılamayacağını belirten bir yanıt alabilirsiniz. Bu cevapların tam olarak% 50'sinde, bir zaman aşımı olurdum ve diğer% 50'sinde 'çözümsüz' olurdum.
kimse icmp4j veya ping.exe kullanmadan aynı anda pencerelerde birçok ping çalıştırmak için bir yöntem biliyor mu?
Olası kopya [java kodu bir IP adresine ping yapmak için] (http://stackoverflow.com/questions/11506321/java-code-to-ping-an-ip-address) – Tim
Şuna bir bakın: http: //stackoverflow.com/questions/3584210/preferred-java-way-to-ping-a-http-url-for-availability –
@JohnKane \t Bu işe yaramaz çünkü aslında ICMP ping'i yapmak zorundayım. soket bağlantısı. – Jdban101