首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >哪些属性使MQTT具有较高的延迟时间?

哪些属性使MQTT具有较高的延迟时间?
EN

Stack Overflow用户
提问于 2013-08-22 18:38:29
回答 3查看 4.1K关注 0票数 0

我能想到的唯一可能的原因是低开销,即固定的标头最小大小只有2个字节,导致了低数据包大小。在协议的设计中还有其他因素吗?

编辑:-对不起,我做了一个心理错误(?),正如@Shashi所指出的,我实际上指的是高延迟、低带宽。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-08-23 04:19:08

MQTT是为内存占用少、网络带宽低等设备而设计的。传感器、电能表、制程器等是MQTT的理想用例。低延迟意味着高速。为了降低延迟,您需要不同的协议,比如运行在千兆以太网或InfiniBand网络上的可靠多播。

票数 1
EN

Stack Overflow用户

发布于 2013-08-23 08:33:08

关键因素之一是,MQTT客户端建立的TCP连接始终被重用。这意味着您不必一直建立新的连接,因为传统的HTTP就是这种情况。另外,正如您已经猜到的,非常低的数据包大小是这里的关键,典型的MQTT消息在原始TCP数据包上没有太多开销。

为了在不可靠的网络上节省更多的带宽,MQTT的持久会话特性只允许客户端订阅一次,并且在重新连接订阅时为客户端保留订阅。对于订阅客户端,这可以大大减少开销,因为订阅消息只发送一次。

票数 1
EN

Stack Overflow用户

发布于 2013-08-23 16:35:02

另一个原因似乎是“最后的遗嘱”和“遗嘱”功能,这是一个有用的特点,在高延迟网络,低带宽和不可靠的网络。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18388361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档