【发布时间】:2018-12-08 11:44:06
【问题描述】:
我需要在 Java 应用程序中找到一个空闲端口。为什么下面的代码不起作用?它总是返回 0。
public int findFreePort() {
int portNumber = new InetSocketAddress(0).getPort();
return portNumber;
}
new InetSocketAddress() 的 Java 文档说:
创建一个套接字地址,其中 IP 地址是通配符地址,端口号是指定值。
有效的端口值介于 0 和 65535 之间。端口号为零将使系统在绑定操作中选择一个临时端口。
【问题讨论】:
-
“在绑定操作中”。你还没有绑定。
-
要获得空闲端口,您必须尝试绑定到端口 0。
标签: java port ip-address javadoc inet-socket