したがって、私がやろうとしているのは、特定のポート (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 のマルチプレイヤーと、ローカル ネットワークでオープン ゲームをスキャンする方法を考えてみてください)。私の問題は、このメソッドを使用するとサーバー側が壊れることです。サーバーは、何かが接続されたときにすぐにデータを送信するだけだからです。ポートに接続せずに、ポートが開いているかどうかを確認することはできますか?