来自 Netty API 文档
connectTimeoutMillis = "以毫秒为单位的连接超时。如果禁用,则为 0。"
和
ReadTimeoutHandler = 在一段时间内没有读取数据时引发 ReadTimeoutException。
从客户的角度来看,我对上述内容的解释是否正确?
客户端将尝试连接到主机最多“connectTimeoutMillis”。如果建立了连接,并且未将 ReadTimeoutHandler 添加到管道中,则通道可以无限期地等待响应。如果将 ReadTimeoutHandler 添加到管道中,则一旦 timeoutSeconds 过去,将引发 ReadTimeoutException。
一般来说,我只想尝试连接到主机最多 'x' 秒,但如果通过网络发送请求,我想等待最多 'y' 秒的响应。如果它影响/影响答案,则客户端是 Netty,但服务器不是。
跟进:ReadTimeoutHandler 上的 timeoutSeconds 是读取连续字节之间的超时,还是整个请求/响应的超时?示例:如果 timeoutSeconds 是 60,并且每 59 秒读取一个字节(总共 1024 个字节),那么整个响应会在 60416 秒内成功读取,还是会因为总经过时间超过 60 秒而失败?