最近弄了一个网络库,发现一个诡异的问题
一开始运行是OK的,不过运行一段时间以后,发现心跳老是断掉
查了几个小时问题,发现逻辑上并没有问题导致网络断开。
结果后来发现是设备上如果60秒不发包,则会被踢,而我们的心跳最大值会达到这个临界值。然后加上客户端的一些阻塞,和时延,过了这个设备允许的最大值 ,就会被踢了。
现在把问题贴出来,长长知识。
心跳包的时延不要超过30秒最好
https://www.processon.com/i/568c6ea4e4b0e51d149a085f
这个网站解决了大家开始设计阶段的问题,轻量级的各种设计模型,强烈推荐