问题: 如果MQTT中的所有内容都是pubsub,但感觉最后遗嘱和遗嘱(LWT)可以工作,那么必须从某个方面进行长期民意调查吗?
问题: 在MQTT中,经纪人如何知道客户何时下线? LWT通知经纪人的流程是什么,是长期民意调查吗?
遗嘱和遗嘱MQTT 客户可以注册自定义“最后遗嘱” 和遗嘱“如果他们断开连接,将由经纪人发送的消息。 这些消息可用于在设备发信号时向订户发送信号 断开连接。
答案 0 :(得分:4)
MQTT具有保持活动机制(本质上是一种心跳)。当客户端连接时,可以指定该特定客户端的保持活动值。如果客户端空闲指定的时间是一半,并且没有发送任何心跳或任何其他MQTT消息,则代理会假定TCP连接已断开(=半开)。
HiveMQ MQTT Essentials博客系列有关于LWT和保持活动机制的深入文章:
答案 1 :(得分:1)
MQTT协议具有在连接时设置的保持活动时间。如果客户端在该时间内没有发布消息,则客户端将向服务器发送pong包。如果服务器在将客户端标记为已断开连接时未获得发布或ping,则将LWT消息传递给订阅相关主题的任何其他客户端。