如果有翻译错误或不清楚、不准确的情况,非常感谢您的 Issue 和 PR
- 1 介绍
- 2 MQTT包格式
- 3 MQTT包
- 3.1 CONNECT - 连接请求
- 3.2 CONNACK - 连接确认
- 3.2.1 CONNACK固定头
- 3.2.2 CONNACK可变头
- 3.2.2.1 连接回复标识
- 3.2.2.1.1 会话展示
- 3.2.2.2 连接原因码
- 3.2.2.3 CONNACK属性集
- 3.2.2.3.1 属性长度
- 3.2.2.3.2 会话过期间隔
- 3.2.2.3.3 接收最大值
- 3.2.2.3.4 最大QoS
- 3.2.2.3.5 保留消息可用
- 3.2.2.3.6 最大包尺寸
- 3.2.2.3.7 分配的客户端ID
- 3.2.2.3.8 主题别名最大值
- 3.2.2.3.9 原因字符串
- 3.2.2.3.10 用户属性
- 3.2.2.3.11 通配符订阅可用
- 3.2.2.3.12 订阅ID可用
- 3.2.2.3.13 共享订阅可用
- 3.2.2.3.14 服务器保活时间
- 3.2.2.3.15 响应信息
- 3.2.2.3.16 服务引用
- 3.2.2.3.17 认证方式
- 3.2.2.3.18 认证数据
- 3.2.2.1 连接回复标识
- 3.2.3 CONNACK载荷
- 3.3 PUBLISH - 发布消息
- 3.3.1 PUBLISH 固定头
- 3.3.2 PUBLISH可变头
- 3.3.3 PUBLISH载荷
- 3.3.4 PUBLISH动作
- 3.4 PUBACK - 发布确认
- 3.5 PUBREC - 发布签收(QoS 2 交付第一部分)
- 3.6 PUBREL - 发布释放(QoS-2-交付第二部分)
- 3.7 PUBCOMP - 发布完成(QoS-2-交付第三部分)
- 3.7.1 PUBCOMP固定头
- 3.7.2 PUBCOMP可变头
- 3.7.2.1 PUBCOMP原因码
- 3.7.2.2 PUBCOMP属性集
- 3.7.3 PUBCOMP载荷
- 3.7.4 PUBCOMP动作
- 3.8 SUBSCRIBE - 订阅请求
- 3.8.1 SUBSCRIBE固定头
- 3.8.2 SUBSCRIBE可变头
- 3.8.2.1 SUBSCRIBE属性集
- 3.8.3 SUBSCRIBE载荷
- 3.8.3.1 订阅选项
- 3.8.4 SUBSCRIBE动作
- 3.9 SUBACK - 订阅确认
- 3.10 UNSUBSCRIBE - 取消订阅请求
- 3.10.1 UNSUBSCRIBE固定头
- 3.10.2 UNSUBSCRIBE可变头
- 3.10.2.1 UNSUBSCRIBE属性集
- 3.10.3 UNSUBSCRIBE载荷
- 3.10.4 UNSUBSCRIBE动作
- 3.11 UNSUBACK - 取消订阅确认
- 3.11.1 UNSUBACK固定头
- 3.11.2 UNSUBACK可变头
- 3.11.2.1 UNSUBACK属性集
- 3.11.3 UNSUBACK载荷
- 3.12 PINGREQ - PING请求
- 3.12.1 PINGREQ固定头
- 3.12.2 PINGREQ可变头
- 3.12.3 PINGREQ载荷
- 3.12.4 PINGREQ动作
- 3.13 PINGRESP - PING响应
- 3.13.1 PINGRESP固定头
- 3.13.2 PINGRESP可变头
- 3.13.3 PINGRESP载荷
- 3.13.4 PINGRESP动作
- 3.14 DISCONNECT - 断开通知
- 3.14.1 DISCONNECT固定头
- 3.14.2 DISCONNECT可变头
- 3.14.3 DISCONNECT载荷
- 3.14.4 DISCONNECT动作
- 3.15 AUTH - 认证交换
- 4 操作行为
- 4.1 会话状态
- 4.1.1 存储会话状态
- 4.1.2 会话状态非规范性示例
- 4.2 网络连接
- 4.3 QoS和协议流程
- 4.3.1 QoS 0:至多一次
- 4.3.2 Qos-1:至少一次
- 4.3.3 QoS 2:确保一次
- 4.4 消息传递重试
- 4.5 消息接收
- 4.6 消息顺序
- 4.7 主题名和主题过滤器
- 4.8 订阅
- 4.9 流量控制
- 4.10 请求 / 响应
- 4.10.1 基础请求响应(非规范性)
- 4.10.2 确定响应主题的值(非规范性)
- 4.11 服务重定向
- 4.12 增强认证
- 4.12.1 重新认证
- 4.13 错误处理
- 4.13.1 格式错误的包和协议错误
- 4.13.2 其他错误
- 4.1 会话状态
- 5 安全性(非规范性)
- 5.1 介绍
- 5.2 MQTT解决方案:安全和认证
- 5.3 轻量级密码学和受限设备
- 5.4 实施说明
- 5.4.1 服务器对客户端进行身份验证
- 5.4.2 服务器对客户端进行授权
- 5.4.3 客户端对服务器进行身份验证
- 5.4.4 应用消息和MQTT包的完整性
- 5.4.5 应用消息和MQTT包的隐私
- 5.4.6 消息传输的不可否认性
- 5.4.7 检测客户端和服务器是否被入侵
- 5.4.8 检测异常行为
- 5.4.9 处理禁止的Unicode码段
- 5.4.9.1 关于使用禁止的Unicode码段的考虑
- 5.4.9.2 发布者和订阅者之间的交互
- 5.4.9.3 补救措施
- 5.4.10 其他安全注意事项
- 5.4.11 使用SOCKS代理
- 5.4.12 安全配置
- 6 使用WebSocket作为传输层
- 6.1 IANA注意事项
- 7 一致性
- 7.1 一致性条款
- 7.1.1 MQTT服务器一致性条款
- 7.1.2 MQTT客户端一致性条款
- 7.1 一致性条款
- 附录 A. 致谢
- 附录 B. 强制性规范性声明(非规范性)
- 附录 C. MQTT v5.0 新特性汇总(非规范性)