Mars长连接管理

对长连的管理有两个方面,一个是心跳(HeartBeat),一个是重连(Reconnect)。这两个动作都是有策略性的。

一般心跳会间隔性的发出一个很小的心跳包,通过服务端返回来判断连接是否健康。

在网络断开会,会自动重连,一般遵循逐渐递增的方法,递增的策略有所不同。

在Mars中,对这两个策略有更精细化的管理,在Mars中对App运行的状态分了两种

1.前台活动状态(forground-active),前台状态10分钟以上,可以认为是App正常运行状态

2. 后台活动状态(background-active),IOS切后台10分钟内为后台活动状态

3 .后台非活动状态(inactive),IOS切到后台10分钟后状态为inactive。

这三种状态下心跳和重连的策略进行了调整,分类比较下:

 

HeartBeat:

active: 以最小间隔发送心跳包,设定为3.5分钟

inactive:非活动状态: 每次递增20s,直到心跳最大间隔 10分钟

 

Reconnect:

forground-active: 前台状态大于等于10分钟:4分钟一次;前台状态大于等于1分钟,小于10分钟:30s重连一次; 前台状态小于1分钟: 15s重连一次;

background-active: 5分钟重连一次

inactive: 0s,60s,120s,240s,360s,480s,600s,600s...

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值