Derzeit verwendet in meinem Projekt, in dem der Controller (Client) Sensordaten an den Server sendet und vom Server Feedback mit einigen zusätzlichen Daten erhält, das MQTT-Protokoll für die Kommunikation. Es gibt zwei separate Themen für Client und Server.
Zum Beispiel:
Thema1 - Client (ABONNIEREN), Server (VERÖFFENTLICHEN)
Thema2 - Client (VERÖFFENTLICHEN), Server (ABONNIEREN)
Wenn es sich bei diesem Projekt jedoch um einen Anwendungsfall einer größeren Anwendung handelt, müssen etwa 5000 Geräte irgendwo installiert werden.
Wird es also erforderlich sein, 5000 verschiedene Themen für Client und Server zu erstellen? Oder mit weniger Themen kann es gemacht werden und wie?
Antworten:
Von Client zu Server können Sie die Client-ID in die Nutzdaten packen. Wenn es sich beispielsweise um JSON handelt, kann einer der Schlüssel den Wert der Client-ID haben.
Die Antwort vom Server zum Client sollte die Client-ID enthalten, damit der Broker keine Nachricht sendet, sondern diese direkt an einen verbundenen Client sendet.
Gleichzeitig können Sie Ihren Server wie folgt abonnieren: "Anfragen / +" und jeder Client veröffentlicht auf "Anfrage / {Client-ID-1}", "Anfrage / {Client-ID-2}" und Server erhalten beide mit nur einem Abonnement.
quelle