美文网首页
Netty实现长连接的原理

Netty实现长连接的原理

作者: 阿斯蒂芬2 | 来源:发表于2018-03-08 14:41 被阅读0次

主要逻辑

使用netty实现长连接,主要靠心跳来维持服务器端及客户端连接。

主要的实现逻辑如下:

服务器端:(HeartBeatRespHandler)

1, 服务器在网络空闲操作一定时间后,服务端失败心跳计数器加1。

2, 如果收到客户端的ping心跳包,则清零失败心跳计数器,如果连续n次未收到客户端的ping心跳包,则关闭链路,释放资源,等待客户端重连。

客户端:(HeartBeatReqHandler)

1, 客户端网络空闲在一定时间内没有进行写操作时,则发送一个ping心跳包。

2, 如果服务器端未在发送下一个心跳包之前回复pong心跳应答包,则失败心跳计数器加1。

3, 如果客户端连续发送n(此处根据具体业务进行定义)次ping心跳包,服务器端均未回复pong心跳应答包,则客户端断开连接,间隔一定时间进行重连操作,直至连接服务器成功。

相关文章

网友评论

      本文标题:Netty实现长连接的原理

      本文链接:https://www.haomeiwen.com/subject/jsekvxtx.html