【问题标题】:How to close connection forcedly in netty client side如何在netty客户端强制关闭连接
【发布时间】:2018-07-01 12:06:35
【问题描述】:

故事是这样的, 我有一个远程服务器和一个位于防火墙后面的客户端。客户端由 netty 实现,它将建立与远程服务器的保活连接。如果超过 200 秒没有消息在通道中传输,防火墙将重置连接到远程服务器端的连接,但客户端没有收到任何 tcp 数据包(如 RST 包),因此客户端认为该连接是活动的而事实并非如此。 那么如何在防火墙错误处理这个keepalive连接之前强制关闭异常连接呢? 顺便说一句:我无法配置防火墙

【问题讨论】:

    标签: netty


    【解决方案1】:

    对于 tcp 连接,你应该发送一些东西来检测它是活跃的还是坏的。所以我建议你做这样的事情:

    1. 让客户端定时发送心跳包,保持连接活跃。通过执行这些操作,防火墙将按照您的意愿保持连接处于活动状态。

    2. 当连接断开时,发送心跳包后会立即报错。因此,您可以关闭通道或重新连接。

    【讨论】:

      猜你喜欢
      • 2015-09-20
      • 1970-01-01
      • 2016-04-04
      • 1970-01-01
      • 2012-06-10
      • 2019-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多