微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何确定当前系统上允许的“积压”最大值?

如何解决如何确定当前系统上允许的“积压”最大值?

| 我正在使用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 举报,一经查实,本站将立刻删除。