Javaにネットワークカードが接続されていないことを検出できるAPI(NetworkInterface、InetAddressなど)があります。ネットワークカードがJavaに遅れずに接続されていない場合、どうすれば検出できますか?
問題は、ネットワークAPIの一部に対処すると大きなタイムアウトが発生することです。しかし、ネットワークカードがどのケーブルにも接続されていなければ、それをスキップすることができます。問題は、あなたが
sun.net.client.defaultConnectTimeout
を使用してソケット接続のデフォルトの時間を設定するには、いくつかのJavaシステムプロパティを使用することができる唯一のWindows 7の
多くのタイムアウト設定はJVMレベルで制御できます(Snicolasの応答を参照)。他の人は、あなたはOSレベルでそれらを設定しなければなりません。そして、それらをあなたのJavaアプリケーションのためのOSレベルの「前提条件」にしなければなりません。たぶん私はあなたの問題を誤解しているかもしれませんが、ある時点で、JVMの配備は根底にあるOSによって何が提供されているかについていくつかの仮定をしなければならないと思います。良い質問ですが(あなたのために+1)。 –