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

相关推荐
K成长日志36 分钟前
BLE不可连接状态--广播态
物联网·网络协议·蓝牙·低功耗·iot·ble
一条破秋裤1 小时前
STM32 学习笔记:GPIO 输出实验——LED 闪烁、流水灯与蜂鸣器
笔记·stm32·学习
存在morning1 小时前
【Paimon 学习笔记 二】存储架构:快照、manifest、LSM 树、bucket
笔记·学习·架构
双眼鈹2 小时前
周报8.31
笔记·学习
DevOpenClub2 小时前
全球区域与 IP 定位工作台案例方案
大数据·网络·网络协议·tcp/ip
打团从来人不齐2 小时前
Linux服务器搭建笔记-008:台式机共享WIFI
linux·服务器·笔记
wuyk5552 小时前
从零吃透 Modbus 通信|第 6 章:线圈功能码 05/0F 实现 & Modbus‑TCP 基础入门
c语言·网络·网络协议·tcp/ip
疯狂打码的少年2 小时前
【数据库技术】SQL概述与数据定义(DDL:CREATE/DROP/ALTER)
数据库·笔记·sql·oracle
一条破秋裤2 小时前
STM32 学习笔记:GPIO 输出原理与硬件设计
笔记·stm32·学习
摇滚侠3 小时前
《SpringBoot 3:入门与应用实战》第 9 章 使用 WebMvc 开发进阶 阅读笔记 24
spring boot·笔记·后端