ICMP 핑을 사용하여 Programatically는 서버가 운영된ㄴ다는 것을 설치하는 중대한 방법 이다. 이전에 당신은 JNI 또는 exec 외침 사용 없이 자바에서 ICMP 핑 (무슨 PING 명령이 리눅스에서 또는 유닉스 & Windows 하는지) 할 수 없었다. JNI 또는 NIO 사용 없이 자바에 있는 ICMP 핑을 해 쉬운 확실한 방법은 여기 있다.


끈 주인 = "172.16.0.2"
int 타임아웃 = 3000; // I는 적어도 3 초를 추천한다
부울 논리 연산 상태 = InetAddress.getByName (주인) .isReachable (타임아웃)

상태는 기계가 핑에 의하여 닿을 수 있는 경우에 진실하다; 틀린 다르게. 제일 노력은 주인을 도달하는 것을 시도하는 한다, 그러나 약간 특정한 항구가 접근 가능한지도 모르는 동안 방호벽과 서버 윤곽은 도달할 수 없는 상태의 결과로 요구를 막을지도 모른다. 전형적인 실시는 특권이 얻어질 수 있는 경우에 ICMP 에코 요구를 사용할 것이다, 그렇지 않으면 목적지 주인의 항구 7 (에코)에 TCP 연결을 설치하는 것을 시도할 것이다.

ICMP 핑 일, 에코 요구를 얻어야 당신이 suid 실행할 수 있는 자바 할지도 모른다 유닉스 또는 리눅스에서 suid 없이 조차 정밀하십시오. 그러나 Windows에 당신은 어떤 문제점도 없이 ICMP 핑에게 무엇이든지를 얻을 수 있다.