Heim  >  Artikel  >  Java  >  Warum schlägt InetAddress.isReachable() von Java beim Ping von Nicht-Localhost-Hosts fehl?

Warum schlägt InetAddress.isReachable() von Java beim Ping von Nicht-Localhost-Hosts fehl?

DDD
DDDOriginal
2024-10-26 11:35:02238Durchsuche

Why Does Java's InetAddress.isReachable() Fail to Ping Non-Localhost Hosts?

Fehlerbehebung bei der Ping-Anfrage von Java mit InetAddress.isReachable()

Beim Versuch, IP-Adressen mit InetAddress.isReachable() in Java zu pingen, stoßen Benutzer möglicherweise auf „Host ist NICHT erreichbare“ Fehler beim Targeting von Nicht-Localhost-Hosts. Trotz der Deaktivierung von Firewalls besteht das Problem weiterhin.

Bei der Untersuchung der Dokumentation für InetAddress.isReachable() stellt sich heraus, dass es typischerweise ICMP ECHO REQUESTs verwendet, die oft Root-Rechte erfordern.

Lösung

Um dieses Problem zu lösen, muss sichergestellt werden, dass sie über Administratorrechte verfügen. Wenn dies nicht möglich ist, besteht eine alternative Lösung darin, TCP-Port 7 für den Verbindungsaufbau zu verwenden, da hierfür keine erhöhten Berechtigungen erforderlich sind.

Das obige ist der detaillierte Inhalt vonWarum schlägt InetAddress.isReachable() von Java beim Ping von Nicht-Localhost-Hosts fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn