Windows 上の Java 6 で既知のバグに遭遇しました。私の理解では、ネットマスクを取得する通常の方法は、ネットワーク プレフィックスの長さを調べて、いくつかのビット シフトを行うことです。問題は、Windows ではプレフィックス長が正しく返されないことが多いため、24 または 20 を取得する必要があるときに 128 を取得することです。
このソリューションでは-Djava.net.preferIPv4Stack=true
、Java コマンド ラインを使用することをお勧めします。残念ながら、Windows 7 では、それを VM パラメータとして、または Java コマンド ラインに追加しても効果がないようです。
(a) Windows 7 でも動作する可能性がある、この問題に対するその他の回避策を知っている人はいますか?
(b) あるいは、信頼できるネットマスクを取得するまったく別の方法はありますか?
ありがとう!
PS これに関連するバグレポートは次のとおりです。