请帮助我们。我结束了一个简单程序的工作。我需要检查服务器状态。我试图使用InetAdress.isReacheble和Socket。但有时如果Windows上的服务器我的服务器状态为false。在阅读了大量信息后,我意识到这是java enter link description here的错误之一。但来源很老。这个问题仍然存在吗? 我尝试使用代码enter link description here
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。试图从应用程序库连接但没有发生任何事情。 我将不胜感激任何信息!