在MQTT中,经纪人如何得到客户最后遗嘱和遗嘱的通知?

时间:2015-03-06 04:23:28

标签: mqtt

问题: 如果MQTT中的所有内容都是pubsub,但感觉最后遗嘱和遗嘱(LWT)可以工作,那么必须从某个方面进行长期民意调查吗?

问题: 在MQTT中,经纪人如何知道客户何时下线? LWT通知经纪人的流程是什么,是长期民意调查吗?

last will test documentation

  

遗嘱和遗嘱MQTT 客户可以注册自定义“最后遗嘱”   和遗嘱“如果他们断开连接,将由经纪人发送的消息。   这些消息可用于在设备发信号时向订户发送信号   断开连接。

2 个答案:

答案 0 :(得分:4)

MQTT具有保持活动机制(本质上是一种心跳)。当客户端连接时,可以指定该特定客户端的保持活动值。如果客户端空闲指定的时间是一半,并且没有发送任何心跳或任何其他MQTT消息,则代理会假定TCP连接已断开(=半开)。

HiveMQ MQTT Essentials博客系列有关于LWT和保持活动机制的深入文章:

答案 1 :(得分:1)

MQTT协议具有在连接时设置的保持活动时间。如果客户端在该时间内没有发布消息,则客户端将向服务器发送pong包。如果服务器在将客户端标记为已断开连接时未获得发布或ping,则将LWT消息传递给订阅相关主题的任何其他客户端。