如何解决如何确定当前系统上允许的“积压”最大值?
| 我正在使用ServerSocket,却看不到/找不到积压的限制。文档对此没有说什么: http://download.oracle.com/javase/6/docs/api/java/net/ServerSocket.html#ServerSocket(int,int) 我的代码是这样的:serverSocket = ServerSocketChannel.open();
serverSocket.socket().bind(null,10000);
但我假设如果系统没有足够的RAM,则10000可能太多。那么,有没有办法确定我可以使用的积压最大值?
似乎在c ++中可以使用SOMAXCONN-Java是否存在类似的东西?
解决方法
如果存在,则将取决于系统:对于Windows
待办事项参数受限制
(无声地)达到合理的价值
由基础服务确定
提供者。非法值被替换
按最接近的法律价值。有
没有标准规定可以找出
实际积压值。
Linux的声明略有不同,但是您需要通过sysctl接口(或可能是/ proc)。
无论如何,您似乎都需要执行一些系统特定的代码。
我相信,如果指定的值“太大”,大多数实现将只使用它们的最大值,因此这可能与您的应用程序无关吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。