用于Java的Internet控制消息协议

时间:2017-05-20 16:52:57

标签: sockets ping icmp inetaddress

请帮助我们。我结束了一个简单程序的工作。我需要检查服务器状态。我试图使用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。试图从应用程序库连接但没有发生任何事情。 我将不胜感激任何信息!

1 个答案:

答案 0 :(得分:0)

默认情况下,InetAddress.isReacheble使用icmp enter link description here 请抱歉我的愚蠢问题