Beide Versionen gleichzeitig
MQTT 3.1.1 und MQTT 5.0 laufen gleichzeitig auf demselben Port, und Clients beider Versionen tauschen ungehindert Nachrichten aus. Der Codec kodiert und dekodiert alle 15 Pakettypen und prüft die Grenzen des Variable Byte Integer, doppelte Properties und reservierte Bits.
QoS 0, 1 und 2
Vollständige Handshakes, Unterdrückung von Duplikaten bei QoS 2 und erneute Zustellung unvollendeter Vorgänge nach einem Reconnect. Offline-Warteschlangen persistenter Sitzungen überstehen einen Neustart des Brokers.
Retain und Last Will
Ein Speicher für Retained Messages samt Löschen per leerem Payload, auch für ganze Zweige, dazu Retain Handling 0/1/2 und Retain As Published. Der Will wird in jedem Trennungsszenario gesendet, einschließlich des Will Delay Interval aus Version 5.
Fähigkeiten von Version 5
Topic-Aliase in beide Richtungen, Session Expiry, Receive Maximum und Flusskontrolle, Maximum Packet Size, Subscription Identifier, Shared Subscriptions über $share, No Local, Message Expiry, Payload Format Indicator mit UTF-8-Prüfung, Content Type, Response Topic, Correlation Data, User Properties, Reason Codes in jedem Paket, serverseitiges DISCONNECT und das AUTH-Paket.
$SYS-Systemtopics
Version, Laufzeit und Zähler für Clients, Nachrichten, Bytes und Fehler werden als Retained Messages veröffentlicht. Der Zweig ist standardmäßig geschlossen: Platzhalter erreichen $-Topics nicht, anonymen Clients ist der gesamte Namensraum verwehrt, und ein Schalter in den Einstellungen deaktiviert die Veröffentlichung vollständig.