5

ローカルネットワーク上のサーバーのIPアドレスを短時間で知りたい。アプリケーションがサーバーで使用しているポートを知っています。

私はこれを試しましたが、遅すぎます。IP がわかっている場合でも、応答時間が長すぎます (IP ごとに 4 秒程度)。この方法を考慮すると、10.0.0.0 から 10.0.0.255 までのサブネット全体をスキャンするには数分かかります。

        String ip = "10.0.0.45";

        try {
            InetAddress ping = InetAddress.getByName(ip);
            Socket s = new Socket(ping, 32400);
            System.out.println("Server found on IP: " + ping.getCanonicalHostName());
            s.close();
        } catch (IOException e) {
            System.out.println("Nothing");
        }
}

スレッドを使用できますが、それでも遅くなります。アプリケーションが数ミリ秒で IP を見つけるのを見たことがあります。彼らはどのようにこれを行うのですか?Java コードをいただければ幸いです。

4

2 に答える 2