javascript - MQTT Js 最后遗嘱消息未发布

标签 javascript communication mqtt paho iot

我有以下代码-->

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/

相关文章:

javascript - $(window).scrollTop() 的说法正确吗?

mqtt - 如何初始化 LwIP 以使用 MQTT 库

javascript - 如何为mosquitto安装ssl

javascript - 精确视口(viewport)宽度的 CSS 媒体查询

javascript - 以编程方式将关键字符分派(dispatch)到输入/contenteditable

java - 使用Java在两个容器之间进行Docker通信

ssl - 从编程的角度来看,实现 http 和 https 之间有什么真正的区别吗?

programming-languages - CORBA/RMI 和 (D) COM 在今天还有用吗?

mqtt - 设计mqtt主题的好方法?

javascript - 如何访问对象的属性(另一个对象)?