本文介绍设备与物联网平台和物联网平台与服务器端的通信相关问题和解决方法。
设备重复收到消息,如何去重?
由于QoS=1的机制是保证最少收到一次消息,所以可能会出现重复收到消息的情况,但重复消息的消息ID是相同的。设备端可以根据消息ID去重。物联网平台也会尽量减少QoS=1时的消息重复发送。
物联网平台是否会保存消息?
消息一发送到Topic后,物联网平台就会立即将消息转发给订阅了该Topic的设备。
QoS=0时,物联网平台不保存消息。
QoS=1时,消息会保存7天。
服务器端如何获取设备消息?
服务器端可通过以下两种方式获取设备消息。
配置了MNS服务端订阅。但在控制台上发送消息,MNS的队列中并没有收到该消息,为什么?
在控制台发送的消息和调用云端API发送的消息均属于服务端发送的消息,不会流转到MNS队列,只有设备发出的消息(设备上报的消息、设备上下线的状态通知等)才会流转到MNS队列里。
如何判断MNS服务端收到的消息是来自哪个Topic?
发送到MNS队列中的消息格式:{ “messageid”:”12345”, “messagetype”:”status/upload”, “topic”:”null/topic”, “payload”:
{data}, “timestamp”: 1469564576}
中有Topic字段。您可根据Topic字段来判断。