私のネットワークに接続されているIPアドレスのリストもあるユーティリティを作成しています。私のWindowsシステムがネットワークに接続されていることを確認する方法
このリストを更新して、そのリストに有効なIPだけが存在するようにするモジュールを作成する必要があります。 私はそれぞれのIPでPINGを使用してこれを実現し、非応答のものを削除することを考えました。
問題は、自分のシステム自体がネットワークに接続されていないときにIPを削除したくないということです。この場合、すべてのIPが明白な理由で削除されるためです。
システムがネットワークに接続されていることを確認するにはどうすればよいですか? 私はJavaを使用しています。 他の質問を探してみましたが、関連するものは見つかりませんでした。
[EDIT1] IPリストは手動で追加されます。サーバーにはいくつかのIPがありますので、気にする必要はありません。@Hoijfで提案されているようにサーバー全体でルックアップを行うことはできません。また、IPの変化は一貫しているので、リストを更新して、応答しないサーバ/ IPを置き換える必要があるのです。
すべてのローカルネットワークインターフェイスまたはIPアドレスを列挙するAPIがある場合は、JDKを見てください。彼らはOS側に存在するが、私はJavaについて知らない。存在する場合は、マシンにまだ予期されたIPアドレスが割り当てられているかどうか、およびアダプターの状況がまだUPであるかどうかを調べます。 – Matthias247
もう1つの方法は、コマンドラインツールの1つを使用して情報を照会する方法です。例: 'ipconfig'。サブプロセスとして起動することができます。関連情報を解析して、ネットワークアダプタがまだ接続されていて、IPアドレスが割り当てられているかどうかを確認します。ただし、これは直接Java/OS APIよりもオーバーヘッドになる可能性があります。 – Matthias247