如何在Netty客户端中强制关闭连接

时间:2018-06-29 10:57:58

标签: netty

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

1 个答案:

答案 0 :(得分:2)

对于tcp连接,您应该发送一些东西来检测它是否处于活动状态或损坏。因此,我建议您执行以下操作:

  1. 让客户端定期发送心跳数据包以保持连接有效。通过执行这些操作,防火墙将使连接保持您期望的状态。

  2. 当连接断开时,发送心跳数据包后,您会立即收到错误消息。因此,您可以关闭频道或重新连接。