gpt4 book ai didi

java - 如何检查特定端口上IP地址的连通性?

转载 作者:行者123 更新时间:2023-12-01 11:18:44 28 4
gpt4 key购买 nike

public boolean isReachable(String ipAddress, int port, int timeout)
{
Socket socket = new Socket();
Exception exception = null;
try {
socket.connect(new InetSocketAddress(ipAddress, port), timeout);
}
catch (IOException e) { exception = e; }

finally {
try { socket.close(); } catch (Exception e) {e.printStackTrace(); }
}
return exception == null;

}

当我连接到互联网时,此代码有效。但当我与 ISP 端断开连接时它也可以工作。(例如当 adsl 服务日期过期或流量结束时)。请告诉我问题出在哪里?

最佳答案

流量阻止策略因 ISP 的不同而有所不同。检查站点是否真正可用的唯一可靠方法是尝试获取实际响应流并对其进行分析。

HTTP 服务器的明显方法是,使用 URLConnection,发送 GET/请求,检查响应代码是否为 200 OK。但是没有通用的方法来检查任何类型的服务器 - 您需要知道通常的响应是什么样的。

关于java - 如何检查特定端口上IP地址的连通性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31502543/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com