代码之家  ›  专栏  ›  技术社区  ›  Bipin

如何使用mqtt知道远程设备处于联机状态

  •  0
  • Bipin  · 技术社区  · 8 年前

    如何使用mqtt知道远程设备处于联机状态(作为设备模拟器,我使用MQTTfx)。发布到主题后,我没有收到任何确认消息,在回调中,我得到的是与发布的相同的有效负载数据。

    1 回复  |  直到 8 年前
        1
  •  0
  •   hardillb    8 年前

    您无法发现另一个MQTT客户端是否在协议级别处于联机状态,事实上,在发布/订阅模式级别,发布客户端不应该关心的是0,或者有无限多的其他客户端订阅了消息发布的主题。

    回调仅表示消息已成功传递给代理,而不是任何订阅者。没有端到端传递通知(因为给定主题可能没有订阅者)。

    如果您需要知道设备的状态,那么您需要自己实现这一点,通常的模式是使用带有保留消息的状态主题,如果客户端崩溃,则LWT会清除此内容,并在客户端完全启动或关闭时手动设置。