mosquitto代理是否在关闭时发送断开连接消息?

时间:2020-04-25 06:32:05

标签: client mqtt message

我正在使用在装有Windows 2012服务器OS的主机上配置的MQTT代理,并且一些嵌入式设备已订阅代理以接收命令。

我想了解,当主机上的代理服务由于主机重启或关闭之类的任何原因而停止时,MQTT代理是否将断开消息发送给所有订阅的客户端。我问这个问题的原因如下。

在我的设备上,所有代码(包括mqtt客户端库)在设备进入睡眠状态时都会停止执行,并且直到设备被唤醒(通过在WiFi通道上接收数据包或通过其他一些操作)后,执行才会恢复。

现在,当我重新引导主机时,我发现我的设备正在从睡眠中唤醒,并试图重新连接到代理,直到MQTT代理返回。我认为设备之所以唤醒是因为它们正在通过WiFi通道接收一些数据,因为我没有采取任何其他措施可以唤醒设备。

所以我想知道唤醒设备并导致设备重新连接的WiFi数据包是什么。可能是Broker发送给设备的断开连接命令吗?

1 个答案:

答案 0 :(得分:0)

否,代理在关闭时不会发送任何消息。 MQTT Disconnect Message仅根据规范从客户端发送到代理。

我建议您安装一些网络监视软件(例如Wireshark)以跟踪正在发生的网络活动。