Netty如何实现心跳机制与断线重连?( 三 )
\n
writerIdleTimeSeconds: 写超时. 即当在指定的时间间隔内没有数据写入到Channel时 会触发一个WRITER_IDLE的IdleStateEvent事件.
\nallIdleTimeSeconds: 读/写超时. 即当在指定的时间间隔内没有读或写操作时 会触发一个ALL_IDLE的IdleStateEvent事件.
\n注:这三个参数默认的时间单位是秒 。 若需要指定其他时间单位 , 可以使用另一个构造方法:IdleStateHandler(boolean observeOutput long readerIdleTime long writerIdleTime long allIdleTime TimeUnit unit)
\n在看下面的实现之前 , 建议先了解一下IdleStateHandler的实现原理 。
\n下面直接上代码 , 需要注意的地方 , 会在代码中通过注释进行说明 。
\n使用IdleStateHandler实现心跳
\n下面将使用IdleStateHandler来实现心跳 , Client端连接到Server端后 , 会循环执行一个任务:随机等待几秒 , 然后ping一下Server端 , 即发送一个心跳包 。 当等待的时间超过规定时间 , 将会发送失败 , 以为Server端在此之前已经主动断开连接了 。 代码如下:
推荐阅读
- 小鱼人|如何在新赛季稳定上分?善于抓失误的小鱼人,值得认真练上一波
- 阴阳师|阴阳师SR川猿强度如何 是否值得抽卡 改变斗技环境 大佬的新玩具
- 手机游戏|梦幻西游手游:活力如何换金币 一切都已给出 就看你的选择
- 华佗|三国杀:两位\奶爸\,朱治与华佗比,强度如何呢?
- 亲朋上分|《亲朋上分》266391亲朋下分亲朋上下分永劫无间崔三娘技能介绍 崔三娘如何获得更多技能
- s6|金铲铲之战:S6双城传说如何才能快速上手?基础知识很关键
- |冰雪传奇:平民玩家四转后如何打金
- 左慈|三国杀:技能缝接,超强发挥,用左慈就能实现
- 穿越火线|CF:传说武器再度上新,那王者、炫金该如何发展?
- 打野|打野已经被削到几乎不能再削了,到底如何平衡打野位置?