计算机理论文档阅读笔记-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 更适合,因为它在协议层面提供了质量服务、通信过程中的最小开销以及发布/订阅系统。

相关推荐
爱讲故事的7 分钟前
计算机网络第七章:无线与移动网络复习笔记
网络·笔记·计算机网络
小陈phd16 分钟前
Text2SQL智能体学习笔记(一)——NL2SQL及执行流程介绍
笔记·学习
问心无愧051319 分钟前
ctf sow web入门112
android·前端·笔记
稷下元歌20 分钟前
系统学习plc 基础指令上篇,官方资料课程笔记整 理
笔记·学习
北京耐用通信1 小时前
耐达讯自动化工业网关:极简组态实现 Modbus 转 PROFINET 稳定通讯
人工智能·物联网·网络协议·自动化·信息与通信
超人不会飞_Jay1 小时前
26.6.8LangChain笔记
笔记
xian_wwq2 小时前
【学习笔记】「大模型安全:攻击面演化史」第 02 篇-越狱攻防战
笔记·学习
刘哥测评技术zcwz6262 小时前
海外动态IP和静态IP需要怎么选择
网络·网络协议·tcp/ip
xieliyu.2 小时前
MySQL 全套入门笔记:基础、库操作、数据类型
数据库·笔记·mysql
XGeFei2 小时前
【Fastapi学习笔记(7)】—— Fastapi 中间件、前端跨域请求
笔记·学习·fastapi