消息收发 本文为您分布式消息服务MQTT消息收发内容。 消息数据存储 终端消息数据按父topic存储至kafka队列,需先在控制台创建父topic;对未创建父topic的消息可正常收发,但不会存储至kafka队列。 Kafka存储内容格式: { "clientId": 设备clientId, "topic": 主题, "payload": 消息内容, "ts": 发送的时间戳 } 会话机制 终端 clean sessiontrue,断线后会话信息清除,再次上线后之前所有的订阅关系以及离线消息丢失。 clean sessionfalse断开连接的情况下,MQTT Broker也会为断连客户端保存一个会话,默认2小时,超期未重连订购关系清除;对于clean sessionfalse的客户端断线重连后可接收Qos>0的离线消息。对于客户端因网络等各种原因断线,需要加上重连和订购关系重新订购机制。 离线消息 对于clean sessionfalse的客户端,在未超出会话失效期,断线重连后可接收Qos>0的离线消息。 系统主题 系统主题 说明 mq2mqtt 用于云端服务向终端发送消息。发往该主题消息会转发至MQTT Broker实现云端与移动端互通 mqttdeviceconnect 设备上线主题,内容 {"clientid":客户端ID,"ts":上线时间戳 } mqttdevicedisconnect 设备下线主题,内容 {"clientid":客户端ID,"ts":下线时间戳 } SDK支持 分布式消息服务MQTT支持标准的MQTT协议,理论上适配所有的MQTT客户端SDK。 推荐对应的第三方 SDK 如下表: 语言/平台 推荐的第三方SDK Java Eclipse Paho SDK iOS MQTTClientFramework Android Eclipse Paho SDK JavaScript Eclipse Paho JavaScript Python Eclipse Paho Python SDK C Eclipse Paho C SDK C