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

作者:sprinkle_liz

\n

来源:https://www.jianshu.com/p/1a28e48edd92

\n

心跳机制

\n

何为心跳

\n

所谓心跳 即在TCP长连接中 客户端和服务器之间定期发送的一种特殊的数据包 通知对方自己还在线 以确保TCP连接的有效性.

\n

注:心跳包还有另一个作用 , 经常被忽略 , 即:一个连接如果长时间不用 , 防火墙或者路由器就会断开该连接 。

\n

如何实现

\n

核心Handler —— IdleStateHandler

\n

在Netty中 实现心跳机制的关键是 IdleStateHandler 那么这个Handler如何使用呢? 先看下它的构造器:

\n

这里解释下三个参数的含义:

\n

readerIdleTimeSeconds: 读超时. 即当在指定的时间间隔内没有从Channel读取到数据时 会触发一个READER_IDLE的IdleStateEvent事件.

推荐阅读