我使用的是 Netty IO 版本 3.6.3,并且有一个带有上游和下游处理程序的管道。实现的服务器读取消息、处理它并发送响应。包含一个 ReadTimeoutHandler 作为管道的第一个处理程序。如果处理超过超时,则会触发 ReadTimeoutException 事件。有时它会在响应写入通道之前触发。当 exceptionCaught() 方法响应 ReadTimeoutException 事件时,代码会使用超时异常调整响应并尝试将响应写入通道。但是通道是关闭的。看来 ReadTimeoutHandler 生成的 ReadTimeoutException 已经自动关闭了通道。我假设客户端已经检测到频道的关闭。Javadoc 没有描述这种行为。我希望能够写一个回复。我尝试在 exceptionCaught() 方法中重新连接通道,但失败了。
关于如何处理读取超时的任何建议或信息,您希望将响应发送回客户端?