使用MQTT连接阿里云IOT每隔一段时间掉线

**

使用MQTT连接阿里云IOT每隔一段时间掉线,并且出现1911错误代码

**

在使用MQTT连接阿里云时,设备可以正常连接,数据格式正确,且平台可正常下发指令。
但设备每隔一段时间自动掉线,通过阿里云日志查看得出是1911错误代码,但我的设备是正常工作的啊!!!为什么会出现这种情况?

在这里插入图片描述
通过日志错误代码得1911的出错原因,但实际这种情况也很难去查找,因为设备在调试过程中,发现设备一直在发心跳ping,且云平台也有进行响应,这说明设备是一直与云平台保持联系的,然后再继续观看,发现的是云平台对设备的心跳包居然不进行响应,也就是说TCP连接在无意间断开了,这个过程一直在重复

查阅了很多文档也没有得出个所以然
在云平台开发文档中有这样的说明
在这里插入图片描述
这里说明了心跳存活时间位60000ms - 300000ms 也就是60s-300s
我的心跳时间是3s一次,于是我将心跳时间改为10s一次,发现设备与平台持续在线时间居然延长了!!!!!
(在这说明,我连接华为云和其他云平台时,心跳3s是可以保持长时间在线的)

那问题解决了,只有将心跳时间改为60s-300s,而发送ping的间隔也应该在60s到设置的心跳存活时间,我设了30s发送一次心跳,实测可以保持

最后重点总结

发送心跳时长不得过短也不能过长,短了自动掉线,长了云平台不会重连!!!

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值