Java アプリケーションで空きポートを見つける必要があります。以下のコードが機能しないのはなぜですか? 常に 0 を返します。
public int findFreePort() {
int portNumber = new InetSocketAddress(0).getPort();
return portNumber;
}
の Java doc は次のようにnew InetSocketAddress()
述べています。
IP アドレスがワイルドカード アドレスで、ポート番号が指定された値であるソケット アドレスを作成します。
有効なポート値は 0 ~ 65535 です。ポート番号が 0 の場合、システムはバインド操作で一時ポートを取得できます。