Die MQTT-Komponente bietet eine schlanke, voll ausgestattete MQTT-Client-Implementierung mit Unterstützung für Version 3.
Die MQTT-Komponente bietet eine leichtgewichtige, voll funktionsfähige MQTT-Client-Implementierung mit Unterstützung für die Versionen 3.1.1 und 5.0. Die Komponente unterstützt Klartext- und sichere Verbindungen sowohl über Standard-TCP als auch über WebSockets.
Die Verbindung zu einem MQTT-Server ist einfach: Sie müssen diese Komponente auf das Formular legen und über die Eigenschaft Client eine TsgcWebSocketClient-Komponente auswählen. Legen Sie Host und Port im TsgcWebSocketClient fest und setzen Sie Active := True, um zu verbinden.
MQTT v5.0 ist nicht abwärtskompatibel (wie v3.1.1). Es werden offensichtlich zu viele neue Dinge eingeführt, sodass vorhandene Implementierungen überarbeitet werden müssen.
Gemäß der Spezifikation fügt MQTT v5.0 MQTT eine erhebliche Anzahl neuer Funktionen hinzu, während ein Großteil des Kerns beibehalten wird.
Die Funktionalität des Clean-Session-Flags ist in 2 Eigenschaften aufgeteilt, um eine feinere Kontrolle über die Sitzungszustandsdaten zu ermöglichen: der CleanStart-Parameter und das neue SessionExpInterval.
Server-Disconnect: Erlaubt das Senden von DISCONNECT durch den Server, um den Grund anzugeben, warum die Verbindung geschlossen wird.
Alle Antwortpakete (CONNACK, PUBACK, PUBREC, PUBREL, PUBCOMP, SUBACK, UNSUBACK, DISCONNECT) enthalten jetzt einen Reason Code und einen Reason String, die beschreiben, warum Vorgänge erfolgreich waren oder fehlgeschlagen sind.
Erweiterte Authentifizierung: Bietet einen Mechanismus, um Challenge-/Response-Authentifizierung einschließlich gegenseitiger Authentifizierung zu ermöglichen. Dies erlaubt die Verwendung von SASL-artiger Authentifizierung, wenn sie sowohl von Client als auch Server unterstützt wird, und umfasst die Möglichkeit für einen Client, sich innerhalb einer Verbindung erneut zu authentifizieren.
Das Request-/Response-Muster wird durch das Hinzufügen des ResponseTopic formalisiert.
Shared Subscriptions: Fügt Unterstützung für Shared Subscriptions hinzu, die lastverteilte Consumer eines Abonnements ermöglichen.
Topic-Aliase können sowohl vom Client als auch vom Server gesendet werden, um auf Topic-Filter mit kürzeren numerischen Bezeichnern zu verweisen und so Bandbreite zu sparen.
Server können in ConnectionProperties mitteilen, welche Funktionen sie unterstützen.
Server-Referenz: Erlaubt dem Server, bei CONNACK oder DISCONNECT einen alternativen zu verwendenden Server anzugeben. Dies kann als Umleitung oder zur Bereitstellung verwendet werden.
Mehr: Nachrichtenablauf, Receive Maximums und Maximum Packet Sizes sowie ein Will-Delay-Intervall werden alle unterstützt.