【问题标题】:how to keep server-side ReadTimeoutHandler in Netty from firing while server is preparing the response?当服务器准备响应时,如何防止 Netty 中的服务器端 ReadTimeoutHandler 被触发?
【发布时间】:2012-07-05 16:47:32
【问题描述】:

由于 Netty 中的服务器端 ReadTimeoutHandler 不知道为什么客户端没有写入任何数据,因此它可能会在服务器仍在准备响应时抛出 ReadTimeoutException到接收到的客户端请求(即,在客户端根本没有写任何东西,因为它仍在等待服务器的回复期间)。

处理这种情况的最佳做法是什么?我现在在考虑

  • 在我的处理程序中保留一个标志,告诉服务器在准备响应时忽略读取超时,
  • 在服务器准备响应时从管道中删除 ReadTimeoutHandler,然后重新添加它或
  • 编写我自己的 ReadTimeoutHandler 版本,可以在每个通道的基础上打开和关闭。

是否有建议的方法在 Netty 中处理这个问题?

【问题讨论】:

    标签: netty


    【解决方案1】:

    如果它被触发并且是预期的,我会忽略超时。我之前也做过的另一种方法是动态地从管道中添加和删除处理程序

    【讨论】:

    • 虽然忽略超时的一个问题是,一旦被忽略,它就不会再次被触发,即使在服务器继续监听客户端之后。
    猜你喜欢
    • 2021-09-21
    • 2019-03-29
    • 2023-03-05
    • 1970-01-01
    • 2019-03-10
    • 2012-02-21
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多