2012-07-11 13 views
0

我的一个独立Java应用程序(无可用源)选择随机可用端口进行侦听。
在这个阶段,我假设它使用getaddrinfo系统调用来获取要绑定的地址。如何通过getaddrinfo限制提议的端口数量

由于我保持了上百种不同的服务器与分配的端口,黑色的应用程序有时踢和挑选的“指定的”端口,这导致我的小服务器失败在启动一个...

我想知道有没有办法限制操作系统提出的端口数量?
会在系统配置解决方案最感兴趣,
但如果没有其他的解决办法,我也能够破解绑定()/的getaddrinfo(这将需要一些命中,以及...)

感谢

+0

我想是这样,但JVM是不是操作系统,它最终设法这种东西。 – bua 2012-07-11 15:22:20

+0

这正是我的意思,称之为“随机”可能不是我的最佳选择,我想我们处于同一页面。 – bua 2012-07-11 15:42:42

回答

0

您必须能够从PROC项来控制它 - 例如,这里是一个系统范围的设置:

的/ proc/SYS /网/的IPv4/ip_local_port_range

您可以修改它们。或者可能有utilities可用于相同的目的。

0

如果操作系统范围内的更改不符合您的要求,请配置JVM的Java安全管理器,以便SecurityManager.CheckListen(NNN)为要保留的任何端口号输出SecurityException