记录 "心跳机制" 相关问题

本文详细解析心跳机制,包括客户端发起的心跳和服务器发起的心跳原理,阐述了通过定时发送和接收数据来检测连接状态的实现方式,并介绍了如何利用线程进行倒计时和数据接收,确保客户端与服务端之间的稳定通信。

记录 "心跳机制" 相关问题


论坛里碰到一个问题,记录一下。








一、心跳”分为两种,第一种是客户端发起的心跳,第二种是服务端发起的心跳。

客户端发起的心跳:客户端每隔一段时间发送策略消息给Socket服务器,Socket服务器原路返回策略消息,如果客户端在设定时间段内没有收到Socket服务器的返回消息,经重试机制后,判定Socket服务器已Down,关闭连接。

服务端发起的心跳:服务端实时记录每条Socket的IO操作时间,每隔一段时间获取所有Socket列表的快照,扫描每条Socket,如果该Socket的IO操作时间距当前时间已超出设定值,则判定客户端Down,关闭连接。



二、客户端起一个线程倒计时10秒,然后一个线程接受数据,如果在10秒内受到来自服务端的数据,那么重新倒计时,如果10秒到了 没有收到来自服务器的数据,那么就表示与服务器失去了连接,当然接受数据的同时每5秒向服务器发送一个数据过去,然后服务端 每5秒循环的为在线的每一个客户端发送一个数据过去,不过发送前判断一下该客户端上一次发来的数据的时间与现在的时间差,超过10秒,表示客户端挂了,当然也有一个线程在接受数据,接收到一个客户端数据的时候,将该客户端的数据发来的时间重新标记。


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值