概述
心跳包就是在客户端和服务器间定时通知对方自己状态的一个自己定义的命令字,按照一定的时间间隔发送,类似于心跳,所以叫做心跳包。
一般来说,在游戏开发中使用心跳包来检测网络连接是否通畅!
心跳包流程:
- 客户端发送一条协议给服务器;同时开启定时器,每隔一定的时间间隔(cd)发送一次这条协议;
- 客户端用一个int类型的变量记录发送的次数,默认为0,每发送一次+1;
- 服务器收到协议则说明客户端网络连接通畅;如果超过规定的时间间隔没有收到客户端的协议,则视为掉线!
- 服务器收到协议之后返回一条协议给客户端,客户端收到服务端返回的协议之后将变量的值置为0;
- 当变量的值大于2(根据具体需求而定)的时候,则视为掉线了,此时应该关闭定时器进行断线重连!
ps:客户端发送的协议内容可以根据具体需求而定,一般都是发一条空内容的协议!服务端返回的协议中可以将服务器时间戳带上,用于客户端校验服务器时间!
最后
以上就是紧张斑马为你收集整理的Socket心跳包的全部内容,希望文章能够帮你解决Socket心跳包所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复