用于连接超时的Netty Channel配置&打开连接的数量

时间:2014-04-15 08:39:36

标签: java netty connection-timeout

我正在尝试使用netty& amp;来实现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如何响应HTTP请求,就像写入&amp ;;从频道阅读?

  3. 提前致谢!!!

1 个答案:

答案 0 :(得分:4)

CONNECT_TIMEOUT_MILLIS是连接尝试的超时时间。建立连接后,它无效。您感兴趣的是ReadTimeoutHandler

默认SO_BACKLOGNetUtils.SOMAXCONN。它不限制工作线程的数量。有关SO_BACKLOG的详细信息,请参阅this question。要限制工作线程数,必须在构造NioEventLoop时指定它。 SO_BACKLOG与最大并发连接数无关。

Re:HTTP如何在Netty中运行 - 这个问题太宽泛了,无法给出简单的答案。请使用您的调试器进入Netty内部,找到它的工作原理。