Connection acknowledgement

Die neu eingeführten ConnAck Return Codes ermöglichen es einem Message Broker dem Client anzuzeigen welche MQTT-Funktionen er unterstützt. Diese Information wird beim ConnAck Vorgang vom Message Broker an den Client übermittelt. Das folgende Bild veranschaulicht diesen Vorgang in vereinfachter Darstellung.

Connection acknowledgement 1:

Im folgenden Bild wird der Verbindungsaufbau zwischen Client und Message Broker auf TCP-Ebene dargestellt:

Connection acknowledgement 2:

Die folgenden Informationen können beim Connection Acknowledgement vom Message Broker an den Client übermittelt werden.

Eigenschaft

Beschreibung

Retain available

Gibt an, ob der Message Broker Retain-Nachrichten unterstützt.

Server KeepAlive

Gibt die vom Server zugewiesene KeepAlive-Zeit an.

Shared subscriptions available

Gibt an, ob der Message Broker Shared Subscriptions unterstützt.

Wildcard subscriptions available

Gibt an, ob der Message Broker Wildcard Subscriptions unterstützt, z.B. Subscriptions auf ein # oder + Topic.

Authentication data

Beinhaltet die Authentifizierungsdaten, abhängig von der verwendeten Authentifizierungsmethode.

Maximum packet size

Gibt die maximale Paketgröße des Control Pakets an. Wenn dieser Wert nicht angegeben ist, dann ist keine Maximalgröße explizit gesetzt.

Maximum QoS

Gibt den maximalen QoS Level an, den der Message Broker unterstützt. Einige Message Broker Implementierungen unterstützen zum Beispiel kein QoS 2.

Reason code

Optionaler Reason Code, welchen der Message Broker im Rahmen des ConnAck Verfahrens an den Client übermitteln kann. Im Zusammenspiel mit der Server Reference (s.u.) kann der Message Broker dem Client hierüber z.B. mitteilen, dass er temporär oder permanent nicht erreichbar und/oder unter einer neuen Adresse erreichbar ist.

Maximum receive

Der Server verwendet diese Eigenschaft, um die Anzahl an QoS1 und QoS2 Publishes zu limitieren, die er für den Client bereit ist gleichzeitig zu verarbeiten.

Session expiry interval

Der Server kann hierüber den Client informieren, dass er ein anderes Session Expiry Interval verwendet als ursprünglich vom Client angefordert.

Response info

Optionale Rückgabeinformationen vom Message Broker an den Client. Ein Anwendungsfall hierfür kann zum Beispiel sein, dass der Broker dem Client einen „Topic-Bereich“ mitteilt der dem Client zugewiesen wurde und auf den er zugreifen kann.

Maximum topic alias

Gibt den maximalen Wert an, der für einen Topic Alias verwendet werden kann.

Assigned client ID

Gibt die vom Message Broker zugewiesene ClientID zurück, sofern der Client keine eigene ClientID angegeben hat.

Server reference

Optionale (Adress-) Referenz auf einen weiteren Message Broker, z.B. bei Reason Code 0x9C oder 0x9D (Server unavailable, Server has moved).

User Properties

User Properties sind Key/Value Paare, welche an die PublishProperties angehängt werden können. Die Bedeutung der UserProperties ist nicht Bestandteil der MQTT5 Spezifikation und somit applikationsspezifisch.