System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种TCP长链接的心跳检测方法及终端技术_技高网

一种TCP长链接的心跳检测方法及终端技术

技术编号:40485260 阅读:5 留言:0更新日期:2024-02-26 19:17
本发明专利技术公开一种TCP长链接的心跳检测方法及终端,包括步骤:创建TCP长链接,并实时检测所述TCP长链接对应的通信端的网络状态;若检测到所述通信端的网络状态为异常,则在预设的一个短周期内通过所述TCP长链接向所述通信端发送至少一个心跳包,并记录所述心跳包的发送次数;判断所述一个短周期内接收到的心跳回包的个数是否与所述发送次数相同;若是,则维持所述TCP长链接;否则,重新建立TCP长链接。以此方式,在网络异常的短时间内,通过主动进行心跳检测的方式,来验证TCP长链接是否正常,减少长链接的重建次数,从而避免资源浪费,提高系统处理效率。

【技术实现步骤摘要】

本专利技术涉及tcp(transmission control protocol,传输控制协议)长链接,尤其涉及一种tcp长链接的心跳检测方法及终端。


技术介绍

1、目前的消息推送系统中,为了实现客户端与服务端的正常通信,客户端与服务端之间都需要维持一个tcp长链接通道,通过该通道来实现端到端的通信。而为了维持并验证tcp长链接通道是否有效,通常情况下,是通过心跳包来验证tcp长链接通道是否正常维持的。而在网络不稳定或网络切换等异常场景下,为了确保tcp长链接正常,无需通过心跳包检测,客户端与服务端之间会主动进行tcp长链接的重新建立。但是,在网络不稳定或网络切换等异常场景的发生时间较短的情况下,通过tcp来保持的长链接通道实际上并未断开连接,而tcp长链接的重新建立非常耗费资源;所以,在网络异常情况下,直接重新建立tcp长链接虽然能够保证长链接的正常有效,但是造成了资源的浪费,且影响系统运行效率。


技术实现思路

1、本专利技术所要解决的技术问题是:提供一种tcp长链接的心跳检测方法及终端,在网络不稳定或网络切换等异常场景下验证tcp长链接是否正常,以减少重tcp长链接的重建次数,从而减少资源消耗。

2、为了解决上述技术问题,本专利技术采用的技术方案为:

3、一种tcp长链接的心跳检测方法,包括步骤:

4、创建tcp长链接,并实时检测所述tcp长链接对应的通信端的网络状态;

5、若检测到所述通信端的网络状态为异常,则在预设的一个短周期内通过所述tcp长链接向所述通信端发送至少一个心跳包,并记录所述心跳包的发送次数;

6、判断所述一个短周期内接收到的心跳回包的个数是否与所述发送次数相同;

7、若是,则维持所述tcp长链接;

8、否则,重新建立tcp长链接。

9、为了解决上述技术问题,本专利技术采用的另一种技术方案为:

10、一种tcp长链接的心跳检测终端,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

11、创建tcp长链接,并实时检测所述tcp长链接对应的通信端的网络状态;

12、若检测到所述通信端的网络状态为异常,则在预设的一个短周期内通过所述tcp长链接向所述通信端发送至少一个心跳包,并记录所述心跳包的发送次数;

13、判断所述一个短周期内接收到的心跳回包的个数是否与所述发送次数相同;

14、若是,则维持所述tcp长链接;

15、否则,重新建立tcp长链接。

16、本专利技术的有益效果在于:在创建tcp长链接后,实时检测tcp长链接通信端的网络状态,在检测到网络状态为异常时,可以在一个短周期内优先向通信端发送至少一个心跳包,来验证此时tcp长链接是否真正断开。如果一个短周期内,心跳回包的个数与心跳包的发送次数不同,则表示tcp长链接已经断开,则需要进行长链接的重新建立。如果一个短周期内,心跳回包的个数与心跳包的发送次数相同,则表示tcp长链接并未真正断开,则复用tcp长链接,无需重新建立连接。以此方式,在网络异常的短时间内,通过主动进行心跳检测的方式,来验证tcp长链接是否正常,减少长链接的重建次数,从而避免资源浪费,提高系统处理效率。

本文档来自技高网...

【技术保护点】

1.一种TCP长链接的心跳检测方法,其特征在于,包括步骤:

2.根据权利要求1所述的一种TCP长链接的心跳检测方法,其特征在于,所述实时检测所述TCP长链接对应的通信端的网络状态包括:

3.根据权利要求1所述的一种TCP长链接的心跳检测方法,其特征在于,所述在预设的一个短周期内通过所述TCP长链接向所述通信端发送至少一个心跳包之前,还包括:

4.根据权利要求3所述的一种TCP长链接的心跳检测方法,其特征在于,所述判断所述一个短周期内接收到的心跳回包的个数是否与所述发送次数相同包括:

5.根据权利要求3所述的一种TCP长链接的心跳检测方法,其特征在于,还包括:

6.一种TCP长链接的心跳检测终端,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:

7.根据权利要求6所述的一种TCP长链接的心跳检测终端,其特征在于,所述实时检测所述TCP长链接对应的通信端的网络状态包括:

8.根据权利要求6所述的一种TCP长链接的心跳检测终端,其特征在于,还包括:

9.根据权利要求8所述的一种TCP长链接的心跳检测终端,其特征在于,所述判断所述一个短周期内接收到的心跳回包的个数是否与所述发送次数相同包括:

10.根据权利要求9所述的一种TCP长链接的心跳检测终端,其特征在于,还包括:

...

【技术特征摘要】

1.一种tcp长链接的心跳检测方法,其特征在于,包括步骤:

2.根据权利要求1所述的一种tcp长链接的心跳检测方法,其特征在于,所述实时检测所述tcp长链接对应的通信端的网络状态包括:

3.根据权利要求1所述的一种tcp长链接的心跳检测方法,其特征在于,所述在预设的一个短周期内通过所述tcp长链接向所述通信端发送至少一个心跳包之前,还包括:

4.根据权利要求3所述的一种tcp长链接的心跳检测方法,其特征在于,所述判断所述一个短周期内接收到的心跳回包的个数是否与所述发送次数相同包括:

5.根据权利要求3所述的一种tcp长链接的心跳检测方法,其特征在于,还包括:

6.一种...

【专利技术属性】
技术研发人员:刘德建郑锦斌郭孟祺郑坦张少敏陈宏
申请(专利权)人:福建天泉教育科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1