MQTT连接协议说明

  • 正常连接

    • 服务器根据连接消息头中带的【keepAlive】,设置心跳间隔;
    • 连接时清除会话【cleansession】设置为【true】。
  • 心跳机制

    • 当客户端检测到心跳时间超过【keepAlive】时,必须向【Broker】发送心跳报文【PingReq】,【Broker】收到心跳后响应【PingResp】;
    • 若【Broker】超过【1.5*keepAlive】没收到心跳请求【PingReq】则断开连接,同理,若设备超过一定时间仍没有收到心跳响应【PingResp】则断开连接。
  • 发布主题消息

    • 通讯质量使用【QOS1】;
    • 主题(topic)为【/gate/push/result】;
    • 发布消息后,【Broker】会响应【PubAck】;
  • 订阅主题消息

    • 通讯质量使用【QOS0】;
    • 订阅主题(topic)为【/gate/设备序列号/command】;
    • 消费响应超时时间为【4s】;
    • 消费结果通过发布主题消息进行回复,回复报文中需带上与消费报文中的【msgId】;
    • 出现接收到一次报文后,后续报文接收不到问题,检测一下消费第一次接收到的订阅消息后,取信息后是否把整个缓存池干掉了。
作者:郭祥西  创建时间:2024-02-28 09:56
最后编辑:郭祥西  更新时间:2024-11-07 15:18