全部产品
云市场

MQTT连接掉线相关问题

更新时间:2018-12-19 10:43:47

1. 为什么设备一直上下线?

如果发现设备反复上下线,很有可能同一个设备证书用于多个设备连接认证。比如2个设备,但使用了同一个设备证书,新的连接会把老的踢掉,而老的又会重连,进行互踢。对于这种情况,可以通过日志服务,根据设备信息查询日志情况。

注意:连接次数过多,服务器可能会对设备进行降级。

2. 如何判断设备掉线的原因?

如果不是设备主动断开连接,可以通过设备日志来判断原因。

如果出现类似:[xxx][keepalive] [FAILURE] after 65 secs 这样的日志,说明设备的心跳包没有及时发送给服务器。服务器容忍5秒的延迟,如果还是没有收到ping包,服务器会关闭与客户端的连接。

3. 如何检查网络问题?

如果您的本地环境无法连接服务器,请检查下本地网络情况。常用的网络检查方法:

  • ping ${productkey}.iot-as-mqtt.cn-shanghai.aliyuncs.com 检测主机是否可达。

  • telnet ${productkey}.iot-as-mqtt.cn-shanghai.aliyuncs.com 1883 检测端口连接情况。

    如果以上的检测结果显示没有问题,但是接入还是不成功,请检查本地防火墙策略。建议可通过traceroute、tcpdump分析网络具体原因。

    另外,您也可以尝试使用443端口去连接MQTT server。在防火墙默认设置情况下,443端口被拦截几率小很多。(MQTT规范标准端口默认为1883。)

    如果您仍不确定问题所在,可以提交工单,我们将协助您进行排查。