MQTT 摘要
MQTT 推送事件通信规范(服务端 ⇆ 客户端)
为了保证服务端与客户端(以下简称 App)之间通过 MQTT 协议推送消息的稳定性和安全性,双方需遵循以下约定:
1. 消息格式要求
消息内容统一采用 Base64 编码的字符串格式进行传输。
所有数据中的变量值必须是字符串类型,即使是数字也必须转成字符串再发送。
示例:
txt
数字 0 要转换为 "0"
数字 123 要转换为 "123"
2. 安全机制:签名验证
所有消息必须附带签名信息,用于验证消息的真实性和完整性。
签名验证所使用的 appKey 统一使用系统分配的 AppId。
接收方(无论是服务端还是客户端)在接收到消息后,必须使用相同的规则验证签名是否合法。
3. 非法请求处理
服务端收到未通过签名验证的请求时,会直接忽略并丢弃,不做任何处理。
客户端(App)也必须进行相应的签名校验,但可根据业务场景决定是否记录日志或通知用户。
4. 通信方向
支持 ⇆ 双向通信:
服务端 → 客户端(App):推送消息、事件通知等。
客户端(App)→ 服务端或其他客户端:主动上报、指令响应等。
具体签名可参考开源项目。