在 MQTT 和 MQTT over websocket 的情况下,幕后会发生什么?
What happens under the hood in case of MQTT and MQTT over websocket?
对于每个请求,HTTP 和 Web 套接字都会进行 3 次握手,然后是 request/response 和终止(持久连接)。
与上面类似,我们有 MQTT 和 MQTT over websocket,两者都是基于 pub/sub 模型。 MQTT 是物联网硬件的理想选择,因为证书和密钥可以安全地存储在硬件设备上。 MQTT over websocket 是 mobile/web 应用程序的理想选择。
就 handshake/data exchange/TCP/UDP 而言,MQTT 和 MQTT over websocket 在幕后发生了什么?
MQTT 和 MQTT over Websockets 之间没有任何区别。
MQTT over Websockets 在传输层只有一个额外的部分。因此,一旦设置了 Websocket 连接,流经连接的实际字节对于本机 MQTT 和基于 Websockets 的 MQTT 是完全相同的。
因此您获得了 HTTP GET、UPGRADE 流,然后它直接进入 MQTT Connect 数据包,如 MQTT Spec
中所述
对于每个请求,HTTP 和 Web 套接字都会进行 3 次握手,然后是 request/response 和终止(持久连接)。
与上面类似,我们有 MQTT 和 MQTT over websocket,两者都是基于 pub/sub 模型。 MQTT 是物联网硬件的理想选择,因为证书和密钥可以安全地存储在硬件设备上。 MQTT over websocket 是 mobile/web 应用程序的理想选择。
就 handshake/data exchange/TCP/UDP 而言,MQTT 和 MQTT over websocket 在幕后发生了什么?
MQTT 和 MQTT over Websockets 之间没有任何区别。
MQTT over Websockets 在传输层只有一个额外的部分。因此,一旦设置了 Websocket 连接,流经连接的实际字节对于本机 MQTT 和基于 Websockets 的 MQTT 是完全相同的。
因此您获得了 HTTP GET、UPGRADE 流,然后它直接进入 MQTT Connect 数据包,如 MQTT Spec
中所述