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
最后编辑:郭祥西 更新时间:2024-11-07 15:18