计算机理论文档阅读笔记-MQTT vs WebSocket

当人们初次看到 MQTT 和 WebSocket 时,它们看起来很相似。因为在两种情况下,一旦建立连接,用户就可以在客户端和服务器之间发送任何内容。此外,两者都是全双工的,这意味着客户端和服务器可以实时地进行双向通信。MQTT 是基于消息的,而 WebSocket 是基于会话的。尽管在某些上下文中它们非常相似,但在某些类别上它们可以有所不同。

什么是 MQTT?

MQTT 代表消息队列遥测传输,是一种轻量级消息协议。它用于与网络带宽成本高的远程设备通信。例如------Facebook 在其移动版本中使用 MQTT。

优点:

  • 高效的数据传输且易于实施,因为它轻量级。
  • 功耗低。
  • 网络使用率低。
  • 数据分布非常高效。

缺点:

  • 传输周期较慢。
  • 它是不加密的。
  • 安全问题。
什么是 WebSocket?

它是一种实时协议,通过单个 TCP 连接在 Web 客户端和 Web 服务器之间提供持久的全双工通信通道。基本上,它创建了一个 Web 浏览器与服务器之间的双向通道。例如 - 金融行情显示、实时多人游戏等。

最小优势:

  • 支持双向通信。
  • 跨平台兼容性
  • 比 HTTP 更快地发送和接收数据。

缺点:

  • 不提供边缘缓存。
  • 缺乏类似 AJAX 的成功机制。
  • 网页浏览器必须完全符合 HTML5 标准。
MQTT 与 WebSocket 的区别

|----|--------------------------|---------------------------------|
| | MQTT | WebSocket |
| 1. | 有一个设置优先级的特性。 | 没有设置优先级的特性。 |
| 2. | 它用于客户端和服务器应用程序。 | 它用于网页客户端应用程序。 |
| 3. | 通信过程中开销最小。 | 在使用多个物联网设备进行通信时,开销很大。 |
| 4. | 它专为物联网设备设计。 | 它专为全双工/双向通信信道设计。 |
| 5. | 在 MQTT 中,多个参与者可以订阅和发布消息。 | 在 WebSocket 中,客户端和服务器之间进行点对点通信。 |
| 6. | 消息分发是一对多。 | 消息分发是一对一。 |
| 7. | MQTT 是基于消息的。 | WebSockets 是基于会话的。 |

结论:MQTT 更受青睐,因为它提供了简单 WebSocket 所不具备的功能和抽象。此外,在嵌入式系统中,MQTT 比 WebSocket 更适合,因为它在协议层面提供了质量服务、通信过程中的最小开销以及发布/订阅系统。

相关推荐
zjxtxdy3 小时前
SPI通信协议
笔记·单片机
彧azz5 小时前
Linux 网络编程学习总结
linux·网络·笔记·学习·面试
aramae5 小时前
MySQL内置函数(7)
开发语言·笔记·后端·mysql·其他
bessyon5 小时前
信息透明度与决策效率:一个技术视角的分析
笔记
hanlin037 小时前
刷题笔记:力扣第41题-缺失的第一个正数
笔记·算法·leetcode
自不量力的A同学7 小时前
开源一站式智能终端 uniTerm v1.9.4 发布
笔记
91刘仁德8 小时前
C++ 继承和多态 设计模式
c语言·c++·笔记
库玛西9 小时前
哈夫曼树与前缀编码:数据压缩的贪心核心
c语言·c++·笔记·考研
Rabitebla10 小时前
【Linux系统编程】 指令(二):一条路径是怎么定位到文件的
linux·c++·笔记·学习·算法