为什么MQTT被称为“轻量级”消息传递协议?

2023-12-13

As per 维基百科 and Mqtt.org,

MQTT 是一种机器对机器 (M2M)/“物联网”连接协议。它被设计为极轻发布/订阅消息传输。

与其他 TCP/IP 或基于套接字的协议相比,是什么让 MQTT“极其轻量级”?


MQTT的协议开销极小,最小的数据包只有2个字节的开销。有效负载与开销之比通常非常好。它也是一种二进制协议,可以大大减少线路的开销。

可以在这里找到一篇关于轻量级的较旧但很好的博客文章:http://stephendncholas.com/archives/1217

如果您对协议详细信息感兴趣,请查看这个内容丰富的博客文章系列:http://www.hivemq.com/mqtt-essentials-wrap-up/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么MQTT被称为“轻量级”消息传递协议? 的相关文章

  • 如何声明具有类型并实现协议的变量?

    我的应用程序有一个详细视图控制器协议 声明它们必须有一个viewModel财产 protocol DetailViewController class var viewModel ViewModel get set 我还有一些实现该协议的不
  • 提高UDP可靠性

    我正在构建一个基于 UDP 的小型服务器 服务器基于 Net并使用它自己的Socket类 我通过 ReceiveMessageFromAsync 和异步发送使用完成端口 我的问题是我失去了大约 5 10 的流量 现在我明白这是正常的 但是有
  • 如何在Linux中打开端口[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我已经安装了 Web 应用程序 该应用程序在 RHEL centOS 上的端口 8080 上运行 我只能通过命令行访问该机器 我尝试从我的
  • Kafka Java 消费者从未收到任何消息

    我正在尝试设置一个基本的 Java 消费者来接收来自 Kafka 主题的消息 我已经跟踪了样本 https cwiki apache org confluence display KAFKA Consumer Group Example h
  • 根据 TCP 的 C++ 函数

    我正在使用 recv 函数 C 来获取有关网络问题的指示 在这种情况下它返回负值 看这里 https www rfc editor org rfc rfc1122 page 100 https www rfc editor org rfc
  • 在 Linux/Ubuntu 计算机上通过 Python/Django 设置网络设置

    我正在为嵌入式计算机开发一个简单的网络界面 计算机将附带一个静态默认 IP 然后需要由可能不懂技术 Linux 的安装技术人员进行更新 基本上我需要从 Django 应用程序更改以下系统设置 IP地址 Subnet 默认网关 DNS 服务器
  • 本地主机:8080 是什么意思? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有什么区别本地主机 网络 vs 本地主机 8080 web TCP IP 连接始终与 IP 地址建立 您可以将 IP 地址视为某台计算机的
  • 通过 MQTT 将 LoRa 测量结果发送到 Fiware IOT 代理

    我有 LoRa 传感器 它使用 Cayenne LPP 格式有效负载发送测量值 我的网关 LOrank8v1 捕获这些数据包并将其转换为 UDP 网关中有一个服务 lora gateway bridge 它将数据包从 UDP 转换为 TCP
  • IP 标志的不分段位在哪里使用?

    我很想知道 IP 标志的 不分段 DF 位在哪里使用 因为碎片对于更高层来说是不可见的 并且他们也不关心 我也在寻找一个例子 预先非常感谢 碎片并不总是对所有上层都可见 一些早期 甚至可能是当前 微控制器 TCP IP 堆栈没有实现碎片处理
  • 与竞争的消费者顺序处理消息

    Problem 我以特定顺序 FIFO 在队列上接收消息 比如订单 我的队列中有竞争的消费者 为了进一步增加复杂性 消费者可能只对订单的特定版本感兴趣 具体取决于其状态 例如版本 1 版本 2 和版本 5 订单版本号在订单上可用 但不能用于
  • 为什么 UDP 服务器中只有一个套接字?

    我正在准备考试 发现了这个问题 典型的 UDP 服务器可以使用单个套接字来实现 解释一下为什么 对于 TCP 驱动的服务器 我发现创建了两个套接字 一个用于所有客户端访问服务器 另一个用于每个客户端的特定 套接字 用于服务器和客户端之间的进
  • 如何以编程方式找出哪台计算机是 Windows 中的域控制器?

    我正在寻找一种方法来确定客户端计算机连接到的给定域的域控制器的名称 IP 地址 在我们公司 我们有很多用于测试的小型网络 其中大多数都有自己的小域 作为示例 其中一个域被命名为 TESTLAB 我有一个 Windows XP 工作站 它是
  • 扭曲多种协议

    我希望为我正在从事的项目学习扭曲 该项目需要服务器响应 HTTP 请求以及通过 TCP 连接的其他协议 Twisted能够同时处理多种协议吗 我想使用 Twisted Web 来帮助处理 HTTP 但同时需要响应其他端口上的 TCP 连接
  • 触发“对等方重置连接”

    我想测试当发生 对等方重置连接 错误时我们的应用程序 嵌入式 ftp 服务器 中发生的日志记录 这个帖子 https stackoverflow com questions 1434451 connection reset by peer很
  • 如何强制关闭 TcpListener

    我有一个通过 tcpListener 进行通信的服务 问题是当用户重新启动服务时 抛出 地址已在使用 异常 并且服务在几分钟左右无法启动 有没有办法告诉系统终止旧连接 以便我可以打开一个新连接 我不能只使用随机端口 因为服务无法通知客户端端
  • Mesibo 通话 UI 未更新

    我正在尝试更改 Mesibo Call UI 的配置 但它并没有改变 我尝试如下 MesiboCallConfig mesiboCallConfig new MesiboCallConfig mesiboCallConfig backgro
  • 通过 Telnet 运行应用程序

    我需要创建一个 BAT 文件来通过 telnet 运行应用程序 但据我所知 在 DOS 上无法执行此操作 Telnet 不允许在连接的瞬间向远程计算机发送任何命令 并且 BAT 文件中的每个后续命令只有在 telnet 停止后才会执行 这段
  • 中断 Select 以添加另一个要在 Python 中监视的套接字

    我正在 Windows XP 应用程序中使用 TCP 实现点对点 IPC 我正在使用select and socketPython 2 6 6 中的模块 我有三个 TCP 线程 一个读取线程通常会阻塞select 一个通常等待事件的写入线程
  • Linux:如何从特定端口发送TCP数据包?

    如何打开原始套接字以从特定 TCP 端口发送 我希望所有连接始终来自临时端口以下的一系列端口 如果您正在使用raw套接字 然后只需在数据包标头中填写正确的 TCP 源端口即可 相反 如果您使用 TCP 套接字接口 socket connec
  • 在请求中设置端口

    我正在尝试利用cgminer使用 Python 的 API 我对利用requests图书馆 我了解如何做基本的事情requests but cgminer想要更具体一点 我想缩小 import socket import json sock

随机推荐

  • React.js:将参数传递给事件处理程序的最有效方法,无需在组件中使用bind()

    当事件处理程序使用this 就像handleClick下面使用this setState 你必须绑定事件处理程序this关键词 否则 您需要使用箭头函数 e g This function isn t bound whilst using
  • 如何使用nodejs从角度获得相当于“req.something”的内容

    我正在关注有关如何使用 Node js 和护照设置身份验证的教程 http scotch io tutorials javascript easy node authentication setup and local 本教程让我使用 ej
  • gdb 中的下一个命令无法正常工作

    我只是使用 gdb 逐行浏览代码 以了解它是如何工作的以及它在做什么 我第一次执行此操作时效果很好 但现在下一个命令无法正常工作 有时它前进 有时它倒退 这没有道理 每次我这样做时 似乎都是相同的模式 下面是一个例子 有人知道出了什么问题吗
  • Android NDK:尝试移植 JnetPcap

    我发现了一个Android流量监控应用程序 Shark 它基于 JnetPcap 并且有一个包含所有源文件和相应的文件Android mk files 我将 jni 目录放在 Android NDK 的示例文件中 并尝试使用ndk buil
  • 可以在构造函数外部赋值的只读字段

    有没有办法在类中拥有一个私有只读字段 可以在类中的任何位置赋值 但只能赋值一次 也就是说 我正在寻找一种私有只读类型的字段 它只能被赋值一次 但不一定在构造函数内 因此 如果将一个值重新分配给一个字段 那么它会显示编译时错误 我确信这要求太
  • 从 JOOQ 解析器结果中获取表/列元数据

    使用 JOOQ 解析器 API 我能够解析以下查询并从结果查询对象中获取参数映射 由此 我可以看出有一个参数 它的名字是 something 但是 我无法弄清楚如何确定参数 something 已分配给名为 BAZ 的列 并且该列是表 BA
  • 即时生成自签名证书

    我四处搜寻 但没有找到明确的例子 我想以编程方式创建一个自签名 自 信任的证书 C 按照以下步骤操作 STEP 1 即时创建根 CA 证书并将其添加到 受信任的根证书颁发机构 文件夹中的证书存储中 我想做的正是这个命令行工具所做的事情 ma
  • 无法从shinyapps.io连接到Microsoft Azure

    我构建了一个从 Microsoft Azure 提取数据的 Rshiny 应用程序 当我在连接字符串中使用 SQL Server 驱动程序时 我的应用程序可以在本地运行 但当我在shinyapps io 上发布应用程序时 我的应用程序无法运
  • Angular 2 中的兄弟事件通信

    我当时的项目中有五个组件 它们是 1 AppComponent Main component 2 AuthComponent 3 HomeComponent 4 HeaderComponent 5 FooterComponent AppCo
  • 当内容高度 > 2000px 时,WP7 ScrollViewer 错误

    在我的项目中 我使用ScrollViewer显示一些长的高度信息 我这样使用
  • 以编程方式将内容添加到 TreeViewItem

    我正在尝试创建一个新的 TreeViewItem 其中包含一个控件 如下所示
  • 倒计时器?

    如何制作倒计时器 当用户加载页面时 时钟开始倒计时 到达时间后 它将浏览器重定向到新页面 找到这个了 不太好用 http encosia com 2007 07 25 display data updates in real time wi
  • FFMPEG iOS 7 库

    我尝试阅读很多教程 我花了几个小时在谷歌和 stackoverflow 上尝试回答 到目前为止我读过 尝试使用armv6和arv7架构为iPhoneOS平台编译FFMPEG库 FFMPEG 在 iphone ipad 项目上的集成 and
  • 使用 LESS 递归函数和媒体查询生成样式

    我正在尝试生成一些相对于屏幕高度的内容 并决定尝试使用 LESS 来生成类似的内容 即使作为测试有点重 baseHeight 1px setRelativeHeight screenHeight minHeightDiff maxHeigh
  • 重绘未按要求正常运行

    我制作了一个俄罗斯方块游戏 现在我已经使用 JPanel 来显示内容和块 使用 PaintComponents 方法 问题是每当我尝试从另一个 JFrame 调用俄罗斯方块程序时 它根本不绘制 我的俄罗斯方块主菜单的代码是 import j
  • 源更改时 VBA 刷新用户窗体列表框数据

    您好 我的用户表单中的列表框数据遇到问题 当我尝试更改列表框连接的源文件时 它似乎没有改变 一开始它显示了良好的数据 但是当我尝试单击 运行日期 按钮时 它与我的范围内的值不匹配 该值被设置为我的排序键 这是我用于按升序和降序排序的运行日期
  • 有没有办法在 Program.exe.manifest 的 UMMM(无人值守制作我的清单)创建中指定 File Name= ?

    有没有办法调整 UMMM ini 文件和 或 UMMM bat 文件以在
  • 为什么显示内联块与文本高度匹配?

    我有一个锚标记 并且我正在使用 before 选择器添加一些文本 我在锚标记周围添加了悬停状态 这 before文本比锚标记中的其余文本稍大 我添加了一个display inline block属性为之前的文本 当我将鼠标悬停在锚标记上时
  • 根据词典数据框替换语料库中的单词

    我有兴趣替换 a 中的所有单词tm根据由两列数据框组成的字典的语料库对象 其中第一列是要匹配的单词 第二列是替换单词 我被困住了translate功能 我看见这个答案但我无法将其转换为要传递给的函数tm map 请考虑以下 MWE libr
  • 为什么MQTT被称为“轻量级”消息传递协议?

    As per 维基百科 and Mqtt org MQTT 是一种机器对机器 M2M 物联网 连接协议 它被设计为极轻发布 订阅消息传输 与其他 TCP IP 或基于套接字的协议相比 是什么让 MQTT 极其轻量级 MQTT的协议开销极小