使用的WebSocket作为网络传输协议
如果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协议没有任何影响。
6.1 IANA注意事项 IANA Considerations
IANA Considerations
本规范要求IANA在WebSocket子协议名条目下注册WebSocket MQTT子协议,使用下列数据:
图例6.1-IANA WebSocket标识符
子协议标识符
mqtt
子协议通用名称
mqtt
子协议定义
http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/mqtt-v3.1.1.html
Last updated