gpt4 book ai didi

java - 用于连接超时和打开连接数的 Netty channel 配置

转载 作者:行者123 更新时间:2023-11-29 03:21:56 31 4
gpt4 key购买 nike

我正在尝试使用 netty 实现一个 HTTP 服务器,我想知道一些我无法从 netty api 理解的东西。我阅读了许多其他与 netty 相关的 stackoverflow 问题,但我仍然无法理解。

1.如果我想让来自客户端的连接打开一段时间,我应该使用什么 CONNECT_TIMEOUT_MILLIS 或添加一个读取超时处理程序并在其中添加一个超时。基本上我想了解这两者之间的区别。 & CONNECT_TIMEOUT_MILLIS 的默认值是多少。

  1. SO_BACKLOG 的默认值是多少,我在其中一个中读到它等于 io.netty.netUtils 中的 SOMAXCONN。但它的值是多少。另外,我想确定 so_backlog 限制了工作线程 ri8 的数量?。我的意思是,如果我将它设置为 1000,则意味着 netty 一次不允许超过 1000 个打开的连接。

  2. 有人可以解释 netty 如何在内部从 channel 写入和读取方面响应 HTTP 请求吗?

提前致谢!!!

最佳答案

CONNECT_TIMEOUT_MILLIS 是连接尝试的超时时间。一旦建立连接,就没有作用了。您感兴趣的是 ReadTimeoutHandler

默认的 SO_BACKLOGNetUtils.SOMAXCONN。它不限制工作线程的数量。关于SO_BACKLOG的更多信息,请引用this question .要限制工作线程的数量,您必须在构造NioEventLoop时指定它。 SO_BACKLOG 也与最大并发连接数无关。

Re: How HTTP works in Netty - 这个问题太宽泛,无法给出简单的答案。请使用您的调试器进入 Netty 内部以了解其工作原理。

关于java - 用于连接超时和打开连接数的 Netty channel 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23078560/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com