MQTT Js Last Will消息未发布

时间:2014-12-25 14:10:40

标签: 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设备的当前开/关状态并发布到主题" IOT1"超过mqtt。我不希望python脚本始终运行以从IOT设备获取状态,因为它会使设备过载。为了解决这个问题,我需要为" IOT1"找到活动客户端。主题,以便我运行或暂停在本地环境中向IOT设备发送请求的线程。除了最后一条消息之外,还有其他方法可以知道吗?

2 个答案:

答案 0 :(得分:1)

如果客户端没有干净地断开连接,则会发布最后遗嘱和遗嘱消息。

如果您正常关闭连接,则不会发送。

只有当服务器在超时期间未能收到消息或ping数据包时,服务器才会发送消息。

答案 1 :(得分:0)

willMessage应该是第一个对象的属性。请参阅下面的代码段。

yourTextField.delegate = self