- 第一章 - 介绍
- 第二章 – MQTT控制报文格式
- 第三章 – MQTT控制报文
- 第四章 – 操作行为
- 第五章 – 安全(非规范)
- 第六章 – 使用WebSocket作为网络层
- 第七章 – 一致性
- 附录B - 强制性规范声明(非规范)
- 附录C - MQTT v5.0新特性总结(非规范)
如果MQTT在WebSocket [RFC6455] 连接上传输,必须满足下面的条件:
-
MQTT控制报文必须使用WebSocket二进制数据帧发送。如果收到任何其它类型的数据帧,接收者必须关闭网络连接 [MQTT-6.0.0-1]。
-
单个WebSocket数据帧可以包含多个或者部分MQTT报文。接收者不能假设MQTT控制报文按WebSocket帧边界对齐 [MQTT-6.0.0-2]。
-
客户端必须将字符串"mqtt"包含在它提供的WebSocket子协议列表里 [MQTT-6.0.0-3]。
-
服务端选择和返回的WebSocket子协议名必须是 mqtt [MQTT-6.0.0-4]。
-
用于连接客户端和服务器的WebSocket URI对MQTT协议没有任何影响。
本规范请求IANA在WebSocket子协议名条目下注册WebSocket MQTT子协议,使用下列数据:
子协议标识符 | mqtt |
子协议通用名 | mqtt |
子协议定义 | http://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html |