Netty如何实现心跳机制与断线重连?( 六 )

\n

异常情况

\n

在测试过程中 , 有可能会出现如下情况:

\n

\n\n\n

异常情况

\n

出现这种情况的原因是:在连接已断开的情况下 , 仍然向服务器端发送心跳包 。 虽然在发送心跳包之前会使用channel.isActive()判断连接是否可用 , 但也有可能上一刻判断结果为可用 , 但下一刻发送数据包之前 , 连接就断了 。

\n

目前尚未找到优雅处理这种情况的方案 , 各位看官如果有好的解决方案 , 还望不吝赐教 。 拜谢!!!

\n

断线重连

\n

断线重连这里就不过多介绍 , 相信各位都知道是怎么回事 。 这里只说大致思路 , 然后直接上代码 。

\n

实现思路

\n

客户端在监测到与服务器端的连接断开后 , 或者一开始就无法连接的情况下 , 使用指定的重连策略进行重连操作 , 直到重新建立连接或重试次数耗尽 。

推荐阅读