所以我要做的是扫描本地网络中的特定端口(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 的多人游戏以及它如何扫描本地网络以查找开放游戏)。我现在的问题是,当我使用这种方法时服务器端会中断,因为服务器只是在任何连接到它时立即发送数据。是否可以在不连接的情况下检查端口是否打开?