Mam urządzenie w sieci, które próbuję wykonać polecenie ping przez mój program Java. Przez okno poleceń systemu Windows mogę pingować adres urządzenia w porządku i wykonać polecenie tracert na grzywnie adresu.Jak wykonać prawdziwy ping w języku Java z systemu Windows?
Online, widziałem, że w tym celu ping poprzez Java trzeba wykonać następujące czynności:
InetAddress.getByName(address).isReachable(timeout);
ale kiedy używam tego kodu na mój adres urządzenia, zawsze zwraca fałsz w moim program. Używam poprawnego adresu IPv4 z dobrą wartością limitu czasu. Ponadto, jeśli używam adresu localhost, działa poprawnie.
Dlaczego mogę pingować urządzenie przez cmd, ale nie przez mój program? Słyszałem w różnych miejscach, że to nie jest ping.
Czy istnieje lepszy sposób emulacji ping w Javie?
Dzięki
... ale mogę to zrobić za pośrednictwem wiersza polecenia systemu Windows przy użyciu standardowego polecenia ping. –
Sprawdź plik java.policy i inne ustawienia zabezpieczeń, prawdopodobnie w katalogu lib/security twojego domu Java. – crowne
Jakie uprawnienia/konfiguracje szukam? I do czego to zmienię? –