我要做的是扫描本地网络中的特定端口(4444),然后返回该端口是否开放。我目前正在执行以下操作:
private static boolean portIsOpen(String ip, int port, int timeout) {
try {
Socket socket = new Socket();
socket.connect(new InetSocketAddress(ip, port), timeout);
socket.close();
return true;
} catch (Exception ex) {
return false;
}
}
我将使用这种方法在我的本地网络中搜索服务器(类似于Minecraft的多人游戏,它会扫描本地网络以查找开放的游戏)。我的问题是,当我使用这种方法时,服务器端会出现问题,因为当任何东西连接到它时,服务器立即发送数据。有可能在不连接到端口的情况下检查端口是否开放吗?