2016-04-20 11 views
0

In MQTT kann ein Client einen Themennamen oder ein Topic-Platzhalterzeichen abonnieren. Eine Nachricht kann für ein Thema oder einige Themen mit demselben Platzhalter veröffentlicht werden. Aber wie man eine Nachricht zu einem Thema veröffentlicht, die unabhängig voneinander sind? Muss ich das MQTT-Protokoll ändern?MQTT - Veröffentlichen einer Nachricht für viele unabhängige Themen

Zum Beispiel: Mein Server handle Verbindungen von 10 Clients (diese Client nicht miteinander) mit den IDs: Client1, Client2, ..., Client 10 und Client1 möchten eine Nachricht an eine beliebige Nummer senden von Clients (zB Client 3 Client 7, client8)

Dank

Antwort

2

Sie können nur bis zu einem bestimmten Thema veröffentlichen, nicht ein Platzhalter Thema oder zu einer Client-ID.

Abonnements können für Joker oder bestimmte Themen sein.

Mehrere Clients können dieselben Themen abonnieren. Wenn Sie also eine Nachricht an eine Gruppe von Clients senden möchten, müssen Sie nur ein Thema auswählen, das sie alle abonniert haben. Oder es gibt nichts, was Sie davon abhält, dieselbe Nachricht in mehreren Themen in Sequenzen zu veröffentlichen.

+0

Danke, ich habe die Frage behoben. Ein Client kann eine Nachricht an mehrere Themen in Sequenzen veröffentlichen, aber der Server muss viele eingehende Nachrichten verarbeiten, anstatt nur eine Nachricht. – Ikarus

+0

Wenn Sie keine Nachrichten mit unglaublich hohen Raten veröffentlichen, ist das kein Problem – hardillb

+1

Zum Beispiel: I ' Wenn Sie mit GCM (Google Cloud Messaging) gearbeitet haben, können Sie eine Nachricht an 1000 Geräte senden. Wenn ich eine Anwendung wie GCM mit MQTT erstelle, wenn ein Client eine Nachricht an 1000 Geräte senden will, muss er 1000 separate Nachrichten mit demselben Inhalt senden, und der Server muss 1000 eingehende Nachrichten verarbeiten (stellen Sie sich vor, wenn sie tls sind) Mitteilungen). Ist das ein großer Aufwand? – Ikarus

Verwandte Themen