2017-02-14 7 views
1

Ich bin neu im MQTT-Protokoll. Als ich das Dokument durchlas, konnte ich keine Funktion sehen, um das veröffentlichte Thema zu entfernen. Mein Ziel ist es, dem Publisher zu ermöglichen, das veröffentlichte Thema zu entfernen. Habe ich etwas im mqtt-Dokument vermisst? Irgendein Vorschlag? Vielen Dank !So entfernen Sie ein veröffentlichtes Thema [MQTT] [Python]

+0

definiert werden müssen Was meinst du mit einem Thema entfernen, sie sind Adressen nur, dass Nachrichten zugestellt werden, wenn veröffentlicht, gibt es nichts zu entfernen ist . Oder möchten Sie eine Nachricht mit dem beibehaltenen Bitsatz entfernen? – hardillb

+0

Ich meine, annulliere das existierende Thema (Adresse). Zum Beispiel habe ich ein Thema Wetter/Feuchtigkeit mit einigen Nachrichten veröffentlicht. Der Abonnent abonniert dieses Thema und empfängt die Nachrichten. Ich möchte dieses Thema vom Kunden abbrechen. In diesem Zustand abonniert der Abonnent dieses Thema immer noch, stellt jedoch fest, dass dieses Thema nicht mehr vorhanden ist. So erhält er keine Nachricht. – NoobProgrammer

Antwort

0

Es gibt kein Konzept zum Entfernen eines Themas.

Wenn der Publisher keine Daten zu einem Thema mehr veröffentlicht, werden die Abonnenten keine Daten mehr zu diesem Thema erhalten, aber es gibt nichts zu entfernen. Ein Abonnent kann ein Thema abonnieren, für das noch keine Nachrichten veröffentlicht wurden, und das ist in Ordnung. Der Broker sendet dann alle Nachrichten, die in Zukunft gesendet werden.

Pub/Sub-Nachrichten Themen wie Nachrichtenwarteschlangen sind nicht die vorne

+0

Vielen Dank. Wie wäre es wenn ich einen lokalen Broker hätte und es zu viele Themen gibt, ist es sinnvoll, wenn ich es entfernen möchte? – NoobProgrammer

+1

Wie gesagt, es gibt kein Konzept zum Entfernen eines Themas. Themen haben praktisch keinen Overhead, es sei denn, der Broker verarbeitet aktiv eine Nachricht. Wenn Sie Warteschlangen mit hohen QOS-Werten für Offline-Abonnenten meinen, dann ist das Broker-abhängig und die meisten Implementierungen, die sie bereinigen, tun dies auf einer zeitbasierten Basis. – hardillb

+0

Werfen Sie einen Blick auf diesen Link für das Entfernen gespeicherter Nachrichten http://www.hivemq.com/blog/mqtt-essentials-part-8-retained-messages (als Antworter sagt, es ist HiveMQ abhängig ...) – Goufalite

Verwandte Themen