Android 心跳频繁的问题
前提:现在存在一种情况,如果是我的心跳设置为90S,当运营商那边压力较大的时候,会淘汰 NAT 表中的对应项,造成链路中断(这个测试是偶然性的爆发的,也许是一个月会出现几次,也许是几天就会出现一次),现在测试的结果是30S,socket通道才不会断。
现在问题来了,我们的服务器,现在最大的并发量是20000,也就是说我的心跳间隔不能太短,太短的话,会对服务器造成太大的压力,但是如果心跳间隔超过了30S就会出现socket通道频繁关闭的情况,我的这种情况该怎么解决呢
我想的策略一:一种是当通道断开的时候,心跳时间设置为20S,然后发送心跳,每成功一次就增加10S时间的心跳间隔,直到最高的心跳间隔,以现在的数据来计算,不超过两分钟就又会重连,这种方案不可取,1.不到两分钟就会断,2.每次重连会照成流量的耗损,这个耗损很高的,每次重连,会照成3KB左右流量的消费
现在集思广益,求解决方案