最后更新:2021-12-30 18:24:43 手机定位技术交流文章
目录
相同点:
不同点:
通信模型不同
报文结构不同
会话协商方式不同
消息收发方式不同
保活机制不同
使用场景不同
总结
WebSocket是一个简单的文本协议。集中力量解决浏览器和服务供应商无法双向互动的问题。与在TCP协议中占主导地位的UDP协议相似。WebSocket 仅具体说明会议是如何开始的,以及信息的结构和类型。邮件和通信完全由应用程序(不同的浏览器)处理。
MQTT 是一个更复杂的邮件协议 。MQTT不仅提供独特的协议代码,而且还提供独特的协议代码还界定了客户和服务器通信模式。特别是,MQTT是一项面向主题的新闻广播协议。 客户端 任何主题都可以创建、加入和签署。这是我第一次听说过它, 这是我第一次听说过它, 这是我第一次听说过它, 这是我第一次听说过它, 这是我第一次听说过它, 这是我第一次听说过它。除此之外,MQTT还控制信息服务的质量(QoS)。这是政府有史以来第一次支持至少一个、一个和三个程度的准确性。协议规定,交货是否会发生重复。
总结下来,MQTT 是一个更加复杂的信息传输协议 。另一方面,WebSocket只支持基本的TCP通信。这两项协定在不同级别上运作。从这个意义上讲,MQTT 可用于 WebSocket 。
WebSocket报告比MQTT报告容易得多,尽管这两个报告都使用两种编码编码。
以下是WebSocket报告的组织方式:

WebSet 中的文本结构
核心是代码字段,只有4位元,最多16个组合:
尽管 WebSocket 发送 ping 和 pong 信息, 取决于应用程序代码的设计方式,
MQTT协议的措辞相当复杂,共分为三部分:
| Fixed Header, present in all MQTT Control Packets |
| Variable Header, present in some MQTT Control Packets |
| Payload, present in some MQTT Control Packets |
每篇文章都包含固定头条信息。根据类型,有些报告还包含额外头信息。最后是信息本身。

MQTT 的顶头结构
MQTT 显示信件类型也使用了 4 位元, 16 个组合。 它与 WebSocket 相同。 MQTT 信件类型是 :
| Name | Value | Direction of flow |
Description |
| Reserved | 0 | Forbidden | Reserved |
| CONNECT | 1 | Client to Server | Connection request |
| CONNACK | 2 | Server to Client | Connect acknowledgment |
| PUBLISH | 3 | Client to Server or Server to Client |
Publish message |
| PUBACK | 4 | Client to Server or Server to Client |
Publish acknowledgment (QoS 1) |
| PUBREC | 5 | Client to Server or Server to Client |
Publish received (QoS 2 delivery part 1) |
| PUBREL | 6 | Client to Server or Server to Client |
Publish release (QoS 2 delivery part 2) |
| PUBCOMP | 7 | Client to Server or Server to Client |
Publish complete (QoS 2 delivery part 3) |
| SUBSCRIBE | 8 | Client to Server | Subscribe request |
| SUBACK | 9 | Server to Client | Subscribe acknowledgment |
| UNSUBSCRIBE | 10 | Client to Server | Unsubscribe request |
| UNSUBACK | 11 | Server to Client | Unsubscribe acknowledgment |
| PINGREQ | 12 | Client to Server | PING request |
| PINGRESP | 13 | Server to Client | PING response |
| DISCONNECT | 14 | Client to Server or Server to Client |
Disconnect notification |
| AUTH | 15 | Client to Server or Server to Client |
Authentication exchange |
WebSocket基于HTTP/1.1 HTTP/1.1 将举行一次联合机制协商会议,会议将举行如下:

WebSocket 咨询程序, 来源: https://dotnetplaybook.org。 本文是全球之声.com/what-is- best-websockets- or- signalr/com/wich-is- west- websockets- or- signalr/com/wich-is- west- websockets- or- signalr 特别报导的一部分。
讨论结束后,将设立一个由两人组成的渠道,以便向双向传输数据。
贸易、技术和贸易部协议规定,必须举行一次有目的的磋商会议:

org/president/an-era-of-iot-m2m-communization-protocols-mqtt-e68d81b9313。
TCP 连接建立后, 客户端会自行发送 CONNECT 信息。 当服务器准备好后, 它会响应 CONNACK 信息 。
由于基本的TCP协议将完成可靠的通信,WebSocket不需要另一方确认:

我不确定你在说什么,Vaadata。这篇文章是我们特别报导全球之声Online.com/blog/websockets-security-attacks-rises/的一部分。
MQTT 信息必须根据交付水平进行验证 :

MQTT出版确认, 资料来源:http://ww.un.org.
只需确认两次,信息才能发布一次!
WebSocket 仅仅支持两种形式的 ping/pong 信息,并不要求定期接收和发送心跳包。
MQTT提供了一个明确界定的心率咨询机制。

使用两个字节以秒表达心跳间隔。 PINGREQ 和 PINGRESP 信息是定期磋商所必需的。
MQTT主要用于诸如物联网等环境,而WebSocket则主要用于网络开发领域,因为附带的浏览器API。 然而,两者都是标准的应用级协议,可以在任何合适的环境中使用。
两者的结合是由于一种应用设想:如何利用HTML5 应用程序作为 MQTT 客户端接收设备信息或向设备提供信息,然后通过 WebSocket 进行MQTT自然是最明智的途径。
MQTT 和 WebSocket 是用于报告的二进制通讯协议。 WebSocket 更简单,更灵活,而 MQTT 则更精密,更有用。 您可以根据您的需要选择 。
无论它是否有效, 我建议您从两个协议中学习。 文本协议应该查看 HTTP, 而二进制协议应该查看 WebSocket 和 MQTT。 这将为协议的结构提供一个坚实的参照点 。
MQTT和Websocket之间有什么区别?
本文由 在线网速测试 整理编辑,转载请注明出处。