MQTT 5.0 Neue Funktionen | (1) Eigenschaften und Belastungen

Verglichen mit MQTT 3.1.1 fügt das MQTT 5.0-Protokoll viele Eigenschaften hinzu, die in variablen Headern und Nutzlasten von Paketen verteilt sind.

Die Pakete, die die Nutzdaten im MQTT 5.0-Protokoll tragen, umfassen CONNECT-Pakete, PUBLISH-Pakete, SUBSCRIBE-Pakete, SUBACK-Pakete, UNSUBSCRIBE-Pakete und UNSUBACK-Pakete.

Die Nutzlast des PUBLISH-Pakets ist für das Speichern des Nachrichteninhalts verantwortlich, der mit dem MQTT 3.1.1-Protokoll identisch ist.

CONNECT-Paket

Die neuen Eigenschaften des variablen Headers des CONNECT-Pakets sind:

1.jpg

In der Nutzlast des CONNECT-Pakets haben sich einige Felder geändert, und die Werde Nachricht ist zu einer Will Payload geworden. Will-Eigenschaften werden Payload hinzugefügt, um das Verhalten einer Will-Nachricht zu definieren.

Die neuen Willenseigenschaften sind:

2.jpg

CONNACK-Paket

Das CONNACK-Paket hat keine Nutzlast, und die im Variablenheader enthaltenen Eigenschaften sind:

3.jpg

Paket VERÖFFENTLICHEN

Die Eigenschaften des variablen Headers der PUBLISH-Nachricht sind:

Nachricht VERÖFFENTLICHEN.jpg

PUBACK, PUBREC, PUBREL, PUBCOMP, SUBACK, UNSUBACK haben alle die folgenden drei Eigenschaften:

PUBACK, PUBREC, PUBREL, PUBCOMP, SUBACK, UNSUBACK message.jpg

Die Eigenschaften der SUBSCRIBE-Nachricht existieren auch im Variablenheader.

11.png

Die Payload im SUBSCRIBE-Paket in MQTT 5.0 enthält die Abonnementoptionen.

Nachricht abonnieren 2.jpg

Die Bits 0 und 1 der Abonnementoptionen geben die maximale QoS an. Dieses Feld gibt die maximale QoS-Stufe an, die der Server an Client-Anwendungsnachrichten senden kann. Wenn der Wert von QoS 3 ist, wird ein Protokollfehler ausgelöst.

Bit 2 der Subskriptionsoption zeigt eine Option von No Local an. Wenn der Wert 1 ist, wird die Anwendungsnachricht nicht an den Herausgeber veröffentlicht, der das Veröffentlichungsthema abonniert hat, und wenn die Option in der geteiltes Abonnementwird ein Protokollfehler ausgelöst.

Bit 3 der Subskriptionsoption gibt an, dass Retain As Published reserviert ist. Wenn der Wert 1 ist, soll der Server das RETAIN-Flag der weitergeleiteten Nachricht so setzen, dass es dasselbe wie das RETAIN-Flag des empfangenen PUBLISH-Pakets ist. Wenn der Wert 0 ist, muss der Server das RETAIN-Flag der weitergeleiteten Nachricht unabhängig vom Wert des RETAIN-Flags im empfangenen PUBLISH-Paket auf 0 setzen.

Die Bits 4 und 5 der Subscription-Option zeigen Retain Handling an. Diese Option wird verwendet, um das Senden einer gespeicherten Nachricht zu steuern. Wenn der Wert von Retain Handling 0 ist, muss der Server die aufbewahrte Nachricht an das Thema weiterleiten, das mit dem Abonnement übereinstimmt. Wenn der Wert 1 ist und das Abonnement nicht mehr vorhanden ist, muss der Server die aufbewahrte Nachricht an das Thema weiterleiten, das dem Abonnement entspricht. Wenn das Abonnement jedoch vorhanden ist, kann der Server die aufbewahrte Nachricht nicht mehr weiterleiten. Wenn der Wert 2 ist, leitet der Server die aufbewahrte Nachricht nicht weiter.

Die Bits 6 und 7 der Abonnementoption sind für die zukünftige Verwendung reserviert. Wenn eines der reservierten Bits der Nutzlast ungleich Null ist, behandelt der Server das Paket als fehlerhaftes Paket.

Paket kündigen

Das UNSUBSCRIBE-Paket hat nur zwei Eigenschaften: Eigenschaftslänge und Benutzereigenschaft.

Die Nutzlast des UNSUBSCRIBE-Pakets ist viel einfacher als die Nutzlast von SUBSCRIBE. Es enthält nur eine Liste von Themenfiltern und keine Vielzahl von Abonnementoptionen.

Der Server behandelt das Paket als fehlerhaftes Paket.

PAKET TRENNEN (neu)

Das DISCONNECT-Paket ist ein neues Paket von MQTT 5.0. Seine Einführung bedeutet, dass der mqtt-Broker die Möglichkeit hat, aktiv die Verbindung zu trennen. Die Eigenschaften des DISCONNECT-Pakets sind:

DISCONNECT-Nachricht hinzugefügt.jpg

Ursprünglich erschienen bei

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *