如何删除已发布的主题

问题描述 投票:0回答:3

我是 MQTT 协议的新手。当我通读文档时,我看不到任何删除已发布主题的功能。我的目的是允许发布者删除已发布的主题。我是否遗漏了 mqtt 文档中的某些内容?有什么建议吗?谢谢!

python mqtt iot broker publisher
3个回答
12
投票

好吧,如果您的意思是从 mosquitto 中删除某个主题,以便在您订阅 # 时不会显示该主题,您可以使用:

mosquitto_pub -h <hostname>  -p <port> -u <user> -P <password> -t '<topic you want to remove>' -n -r

5
投票

不存在删除主题的概念。

如果发布者停止发布某个主题的数据,订阅者将停止接收该主题的数据,但没有任何内容可以删除。订阅者可以订阅从未发布过消息的主题,这很好,代理将发送将来可能发送的任何消息。

发布/订阅消息主题不像消息队列需要预先定义


0
投票

如果您想要一种简单的方法来做到这一点,使用 GUI,我建议安装 MQTTUI。它是一个轻量级 GUI,可用于在终端中查看主题和 MQTT 消息流。它可以在 Github 上找到。

使用 MQTTUI,您只需选择要删除其消息的主题,然后输入 Del。它会提示您一个确认对话框,以确认您要清除保留的主题。

在后台,它很可能按照@JeffL 在他的回复中建议的方式进行操作。

© www.soinside.com 2019 - 2024. All rights reserved.