0
請幫助我們。我結束了一項簡單程序的工作。我需要檢查服務器狀態。我試圖使用InetAdress.isReacheble和Socket。但有時如果服務器在Windows上,我的服務器狀態爲false。在閱讀了大量信息後,我意識到這是java enter link description here的一個bug。但來源很古老。這個問題仍然相關嗎? 我嘗試使用這個代碼註釋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。試圖從應用程序庫連接,但沒有發生任何事情。 我將不勝感激!