安卓客户端为什么需要发心跳?




一、保活


所谓保活,即保证链路是活的:

比如当年中移动2G,
在各个省对TCP有不同超时控制策略,
长的30分钟,短的5分钟;
因此大概5分钟不发数据就可能会被国内运营商断掉;

所以一个 TCP 链路建立之后,
一般每4分半发一个心跳包来保活会合适些。




二、检测


服务器不可能跟某一个用户连上之后就一直连着,
因为连着是需要消耗服务器资源的;

而通过心跳,服务器就能检测到哪些客户端已经死了,
对于死掉的客户端,服务器可以断开连接,释放资源。

反过来也是这样,
客户端也通过心跳来确定服务器是否挂掉了,
如果挂掉换个地址重新建立长连接。




猜你喜欢

转载自blog.csdn.net/weixin_44648216/article/details/113850637