2017-05-20 14 views
0

Pls help me me. 나는 하나의 간단한 프로그램에 대한 나의 작업을 끝낸다. 서버 상태를 확인해야합니다. InetAdress.isReacheble 및 Socket을 사용하려고했습니다. 하지만 때로는 서버에 Windows 서버 상태가 false가됩니다. 많은 정보를 읽은 후에, 나는 이것이 enter link description here의 버그 중 하나임을 깨달았습니다. 그러나 근원은 오래되었다. 이 문제는 여전히 관련이 있습니까? 나는 코드를이 댓글 enter link description here인터넷 제어 메시지 프로토콜 (Java 용)

private static boolean isReachable(String addr, int openPort, int timeOutMillis) { 
try { 
    // Any Open port on other machine 
    // openPort = 22 - ssh, 80 or 443 - webserver, 25 - mailserver etc. 
    try (Socket soc = new Socket()) { 
     soc.connect(new InetSocketAddress(addr, openPort), timeOutMillis); 
    } 
    return true; 
} catch (IOException ex) { 
    return false; 
} 

Windows에서 서버가 나는 포트 RDP (3389)를 사용하는 경우를 사용했습니다. 하지만 고객이 마음에 들지 않습니다. 그는 내가 ICMP를 통해 상태를 확인하기를 원합니다. 이것이 가능한가? ICMP enter link description here 앱을 발견했습니다. 응용 프로그램 라이브러리에서 연결을 시도했지만 아무 일도 없었습니다. 정보에 감사드립니다! 기본적으로

답변