![]() |
1
244
如果不介意使用的端口,请指定0到 ServerSocket constructor 它将监听任何自由端口。
如果您想使用一组特定的端口,那么最简单的方法可能是迭代这些端口,直到其中一个正常工作。像这样:
可以这样使用:
|
![]() |
2
48
如果您将0作为端口号传递给serversocket的构造函数,它将为您分配一个端口。 |
![]() |
3
28
从Java 1.7开始,您可以使用这样的资源:
如果需要在特定接口上找到打开的端口,请检查 ServerSocket 备选施工人员的文件。 警告: 使用此方法返回的端口号的任何代码都会受到竞争条件的影响-在关闭Serversocket实例后,不同的进程/线程可能会立即绑定到同一端口。 |
![]() |
4
23
根据
Wikipedia
,您应该使用端口
afaik确定端口使用时间的唯一方法是尝试打开它。 |
![]() |
5
18
如果你需要 范围 用途:
|
![]() |
6
16
|
![]() |
7
10
Eclipse SDK包含一个类 SocketUtil ,这就是你想要的。你可以看看Git source code . |
![]() |
8
6
见 http://java.sun.com/j2se/1.4.2/docs/api/java/net/ServerSocket.html#ServerSocket%28int%29
|
![]() |
9
6
这对我来说在Java 6上起作用。
|
![]() |
10
4
如果要使用
其他服务器实现通常也有类似的支持。 码头 例如,选择一个空闲端口,除非您显式设置它:
|
![]() |
11
4
我最近发布了一个很小的库,因为我在做测试时就考虑到了这一点。 Maven依赖关系是:
安装后,可通过以下方式获得自由端口号:
|
![]() |
12
3
这可能对您没有太大帮助,但在我的(Ubuntu)机器上,我有一个文件/etc/services,其中至少提供了一些应用程序使用/保留的端口。这些是这些应用程序的标准端口。 不保证这些程序正在运行,只是这些应用程序使用的默认端口(因此,如果可能,您不应该使用它们)。 定义的端口略多于500个,大约一半是UDP,一半是TCP。 文件由IANA使用信息生成,请参见 IANA Assigned port numbers . |
![]() |
13
3
如果服务器启动了,那么就没有使用那个套接字。 编辑 类似:
|
![]() |
14
0
如果您使用的是弹簧,答案由 米哈伊尔·尼古拉夫 是最简单、最干净的一个,国际海事组织应该被否决。 为了方便起见,我将使用SpringFramWork添加一个内联示例 SocketUtils .findavailabletcpport()。 方法:
就这么简单,只要一句话:)。当然,utils类提供了许多其他有趣的方法,我建议您看看docs。 |
![]() |
mig21 bis · 带套接字的SSL_set_fd地址边界错误 3 年前 |
![]() |
hollow · 在读写C中的套接字时,为什么要使用循环缓冲区? 3 年前 |
![]() |
Filipe · 通过http python发送图像 6 年前 |
|
Mr. Rogers · epoll_wait事件的epoll顺序 6 年前 |
![]() |
Michael Beer · 查找插座的传输类型 6 年前 |