个人的一点理解,请勘误。
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 设备间的通讯。//