In MQTT ist es der Client, der die Verbindung mit einer CONNECT-Nachricht initiiert.
Das erste Feld des Pakets ist das clientId
:
Die Client-ID (kurze Client-ID) ist eine ID jedes MQTT-Clients, der eine Verbindung zu einem MQTT-Broker herstellt. Wie die Wortkennung bereits andeutet, sollte sie pro Broker eindeutig sein. Der Broker verwendet es zur Identifizierung des Clients und des aktuellen Status des Clients. (Bild und Zitat stammen von hier .)
Angenommen, ich habe zwei Clients, Client X und Y, in der folgenden Situation.
- Broker gestartet, noch keine Kunden.
- X stellt erfolgreich eine Verbindung zum Broker mit der
client-1
ID her, Benutzername istX
. - Jetzt versucht Y, eine Verbindung mit
client-1
der ID als Benutzername herzustellenY
.
Was wird passieren?
- Basierend auf dem clientId, wird denken , der Makler , dass X führt einen wiederholten Verbindungsversuch , das ist abnormales Verhalten .
- Es wird nichts Außergewöhnliches passieren. Y stellt eine erfolgreiche Verbindung her, da ein anderer Benutzername verwendet wird .
- Es wird nichts Außergewöhnliches passieren. Der Broker lehnt einen Y- Verbindungsversuch ab, da die angegebene clientId bereits verwendet wird.