com.sun.net.httpserver.HttpServer 最大连接数?

发布于 2024-08-09 13:17:59 字数 130 浏览 7 评论 0原文

有时(很少)当我连接到 com.sun.net.httpserver.HttpServer 的正在运行的实例时,我会收到“连接被拒绝”消息。

有人知道这可能是为什么吗?它可以处理的连接数是否有线程限制?我可以增加吗? 谢谢。 -r

Sometimes (pretty rarely) when I connect to a running instance of a com.sun.net.httpserver.HttpServer I get a "connection refused" message back.

Anybody know why this might be? Is there a thread limit to the number of connections it can handle? Can I increase it?
Thanks.
-r

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

苏大泽ㄣ 2024-08-16 13:17:59

来自 文档

绑定地址和端口时
数,应用程序还可以
指定整数积压参数。
这代表了最大数量
传入的 TCP 连接
系统将在内部排队。
连接在连接时排队
等待被接受
Http服务器。当达到极限时,
进一步的连接可能会被拒绝
(或可能被忽略)
底层 TCP 实现。环境
正确的积压值是
高效资源之间的折衷
TCP层的使用(不设置
太高)并允许足够的
传入请求的吞吐量(不是
设置得太低)。

你可能会看到这个。

或者,您是否使用 setExecutor()。默认执行器配置的线程可能比您需要的要少,并且配置了适当的 ThreadPoolExecutor 可能可以工作。

From the doc:

When binding to an address and port
number, the application can also
specify an integer backlog parameter.
This represents the maximum number of
incoming TCP connections which the
system will queue internally.
Connections are queued while they are
waiting to be accepted by the
HttpServer. When the limit is reached,
further connections may be rejected
(or possibly ignored) by the
underlying TCP implementation. Setting
the right backlog value is a
compromise between efficient resource
usage in the TCP layer (not setting it
too high) and allowing adequate
throughput of incoming requests (not
setting it too low).

You may be seeing this.

Alternatively, have you set an executor using setExecutor(). The default executor may have fewer threads configured than you need, and a suitably-configured ThreadPoolExecutor may work.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文