1

为了测试,我创建了一个客户端clean sessin = falsesetWill(WILL_TOPIC, WILL_MSG.getBytes(), 1, true);运行了该应用程序。后来,我设置setWill(WILL_TOPIC, WILL_MSG.getBytes(), 1, false);当我运行该应用程序时,我会收到以前的LWT消息。如何停止接收它们?

4

2 回答 2

3

您不会收到这样的 LWT 消息,而是保留的消息。要清除保留消息,请将零长度保留消息发送到同一主题。例如,使用 Paho Python 客户端,您可以:

client.publish(WILL_TOPIC, payload=None, retain=True)
于 2014-11-14T16:44:10.807 回答
1

您可以发送一条带有“CleanSession=false”和“Will=true”的 CONNECT 消息,并发送一条空的 WILLTOPIC 消息

检查节 6.3

于 2014-11-14T16:36:45.477 回答