我有以下代码-->
var last_will = new Paho.MQTT.Message("last message");
last_will.destinationName = "Bridge123";
client = new Paho.MQTT.Client("broker.mqttdashboard.com", Number("8000"), "AX123");
client.onConnectionLost = onConnectionLost;
client.onMessageArrived = onMessageArrived;
client.connect({onSuccess:onConnect} , {willMessage:last_will});
当我断开客户端连接时,我希望最后一条遗嘱消息发送到我创建的主题。我正在使用 Paho 的 mqtt 版本 -3.1。Websockets 正在创建良好,但我没有看到最后一条遗嘱消息。 ..
有人可以指导一下吗?
添加更大的图景:
我有一个 Python 脚本 p 收集本地环境中 IOT 设备的当前开/关状态,并通过 mqtt 发布到主题“IOT1”。我不希望 python 脚本始终运行以从 IOT 设备获取状态,因为它会使设备过载。为了解决这个问题,我需要找到“IOT1”主题的事件客户端,以便我运行或暂停向其发送请求的线程本地环境中的物联网设备..除了最后一个遗嘱消息之外,还有其他方法可以知道这一点吗?
最佳答案
仅当客户端未完全断开连接时才会发布遗嘱和遗嘱消息。
如果您正常关闭连接,则不会发送该连接。
只有在超时时间内服务器没有收到消息或ping包,服务器才会发送消息。
关于javascript - MQTT Js 最后遗嘱消息未发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27647925/