Java Netty:为每个通道的通道读取配置超时

Java Netty:为每个通道的通道读取配置超时,java,netty,Java,Netty,我正在使用Netty框架并实现客户端和服务器。我做了许多连接高达1000。我想在多个位置配置超时值。其中一些我能够理解。下面是我的netty实现的netty行为: 1.许多异步连接从具有超时的客户端启动(使用ChannelOption.CONNECT\u timeout\u MILLIS配置)。 2.那些能够连接的客户端连接使用channelActive发送HTTP请求,并使用channelRead0接收响应 问题-我想在发送请求和接收特定通道的数据之间设置超时值。 我阅读了netty文档并提出

我正在使用Netty框架并实现客户端和服务器。我做了许多连接高达1000。我想在多个位置配置超时值。其中一些我能够理解。下面是我的netty实现的netty行为:
1.许多异步连接从具有超时的客户端启动(使用ChannelOption.CONNECT\u timeout\u MILLIS配置)。
2.那些能够连接的客户端连接使用channelActive发送HTTP请求,并使用channelRead0接收响应

问题-我想在发送请求和接收特定通道的数据之间设置超时值。
我阅读了netty文档并提出了两种解决方案:
1.
2.


我不知道该选择哪个选项,哪个更好,或者还有其他选项。

您需要设置多个限制(最有可能)。正如您已经发现的,您可能希望通过
setConnectTimeoutMillis
设置连接超时,但也有一个
ChannelDuplexHandler
,它将确保您在预期时间内收到对请求的响应。您可能还想了解一下
IdleStateHandler
,如果
Channel
空闲时间过长,它将允许通过
ChannelPipeline
触发事件。

只需一个说明-setConnectTimeOutMillis设置通道的连接超时(毫秒)。现在,此通道包括连接、写入和读取的时间,这与ChannelOption.connect\u TIMEOUT\u MILLIS不同。对吗?参考文献-