2016-09-22 20 views

回答

1

簡短的回答,你不能。

LWT將只發送1條消息(或發送一個帶有空載荷的消息來清除保留的消息)。

如果要更改其他保留消息的狀態,唯一真正的選擇是讓單獨的客戶端運行訂閱LWT主題,然後清除多個保留的消息。

1

正如hardillb提到的,使用MQTT標準機制是不可能的。不過,一些經紀人可能有刪除多個保留消息的選項。對於HiveMQ,有一個RetainedMessageStore可用,允許修改事件上保留的消息(例如,當發送LWT時)。甚至還有一個插件允許遞歸刪除保留的消息:Github Link