个人的一点理解,请勘误。
MQTT:
通常用于 IOT 设备上(作为MQTT Client),基于 TCP 有一套自己的协议栈格式。MQTT Server[也称为 MQTT broker]通常在 PC 上。// http://blog.csdn.net/benhuo931115/article/details/51254560
MQTT Client 和 MQTT Server 通常扮演多对多的角色。 一个 Client 发布消息,多个 Client 将会收到该消息。
WebSocket:
通常用户 PC 上,Websocket也是基于 TCP 协议的,同时借用了HTTP的协议来完成一部分握手。
主要解决 HTTP 协议中一个 request 对应一个 response 的尴尬。(http server 不能主动发送消息给 http client)
https://www.zhihu.com/question/20215561
通过 HTTP 完成 websocket 的握手过程,接着按照 websocket 协议进行通讯。
websocket 也有他自己的数据帧格式: http://blog.csdn.net/u010487568/article/details/20569027
MQTT over websocket:
这种场景一般用户 IOT 设备和 PC 设备间的通讯。// http://blog.csdn.net/itzaibadong/article/details/49449995
比如: IoT 作为 MQTT Client, Mosquitto 作为 MQTT Server, PC 作为 websocket client.
下面是可能的一种通讯过程:
// Mosquitto1.4.2 以上支持 websocket。
1: PC 先通过 websocket协议和 mosquitto 建立连接,同时订阅主题 A.
2: IOT 设备通过 MQTT协议和 mosquitto 建立连接。
3: IOT 设备发布主题 A
4: mosquitto 将主题 A 发布到它所有的客户端,包括 websocket 客户端,所以 PC 也能收到主题 A.
本文介绍了MQTT常用于IoT设备,基于TCP的协议,WebSocket用于PC,解决HTTP的单向响应问题,而MQTT over WebSocket则用于IoT设备与PC之间的通讯,通过WebSocket建立与MQTT Broker的连接,实现跨协议的消息传递。
7120

被折叠的 条评论
为什么被折叠?



