Nach meinem Verständnis wird in MQTT ein Thema erstellt, sobald ein Client etwas mit dem entsprechenden Themennamen veröffentlicht.
Es ist nicht erforderlich, ein Thema zu konfigurieren, es reicht aus, darauf zu veröffentlichen.
Von hier .
Ist es einem Kunden möglich, ein eigenes Thema zu abonnieren, nachdem es veröffentlicht und erstellt wurde? Ich konnte keine Einschränkungen in den Spezifikationen finden . Es wird auch nicht als mögliches abnormales Verhalten aufgeführt:
5.4.8 Auffälliges Verhalten feststellen
Serverimplementierungen überwachen möglicherweise das Clientverhalten, um potenzielle Sicherheitsvorfälle zu erkennen. Beispielsweise:
- Wiederholte Verbindungsversuche
- Wiederholte Authentifizierungsversuche
- Abnormale Beendigung von Verbindungen
- Themenscan (Versuche, viele Themen zu senden oder zu abonnieren)
- Senden unzustellbarer Nachrichten (keine Abonnenten der Themen)
- Clients, die eine Verbindung herstellen, aber keine Daten senden
Auf dieser Grundlage denke ich, dass es sicherlich möglich ist. Ich interessiere mich also für die Anwendungsfälle dieser Funktion.
Warum erlaubt der Standard einen solchen Mechanismus, wäre es zu kompliziert, den Eigentümer der Themen zu verfolgen? Stattdessen können Kunden einfach ihr eigenes Thema abonnieren.
Ein Anwendungsfall, den ich mir vorstellen kann, ist, dass ein Client auf diese Weise seine veröffentlichten Daten überprüfen kann.
Ja.
MQTT-Clients sind mit einem Broker verbunden, der eine Cloud oder ein anderes Gerät sein kann.
Es gibt keine Themenerstellung. Sie werden als Überschrift für eine Nachricht verwendet. Wenn Ihr Kunde ein Thema abonniert hat und etwas zu diesem Thema veröffentlicht, wird die Nachricht über den Broker erneut an den Kunden gesendet.
Beispiele für gute Broker sind Mosquitto für die Ausführung auf Geräten und CloudMqtt für Cloud-basierte Broker
quelle