我正在尝试使用netty& amp;来实现HTTP服务器我想知道一些我无法从netty api中理解的东西。我读了许多其他与netty相关的stackoverflow问题,但我仍然无法做到这一点。
1.如果我希望客户端的连接打开一段时间,我应该使用CONNECT_TIMEOUT_MILLIS或添加读取超时处理程序&在其中添加超时。基本上我想了解这两者之间的区别。 &安培; CONNECT_TIMEOUT_MILLIS的默认值是什么。
SO_BACKLOG的默认值是什么,我在其中一个中读到它等于io.netty.netUtils中的SOMAXCONN。但它的价值是什么。另外,我想确保so_backlog限制工作线程ri8的数量?我的意思是,如果我将其设置为1000,则意味着netty一次不允许超过1000个开放连接。
有人可以解释一下netty如何响应HTTP请求,就像写入&amp ;;从频道阅读?
提前致谢!!!
答案 0 :(得分:4)
CONNECT_TIMEOUT_MILLIS
是连接尝试的超时时间。建立连接后,它无效。您感兴趣的是ReadTimeoutHandler
。
默认SO_BACKLOG
为NetUtils.SOMAXCONN
。它不限制工作线程的数量。有关SO_BACKLOG
的详细信息,请参阅this question。要限制工作线程数,必须在构造NioEventLoop
时指定它。 SO_BACKLOG
与最大并发连接数无关。
Re:HTTP如何在Netty中运行 - 这个问题太宽泛了,无法给出简单的答案。请使用您的调试器进入Netty内部,找到它的工作原理。