Składnik MQTT dostarcza lekką, w pełni funkcjonalną implementację klienta MQTT z obsługą wersji 3.
Komponent MQTT zapewnia lekką, w pełni funkcjonalną implementację klienta MQTT z obsługą wersji 3.1.1 i 5.0. Komponent obsługuje połączenia niezaszyfrowane i bezpieczne zarówno przez standardowe TCP, jak i WebSocket.
Połączenie z serwerem MQTT jest proste. Należy upuścić ten komponent na formularzu i wybrać komponent TsgcWebSocketClient przy użyciu właściwości Client. Należy ustawić host i port w TsgcWebSocketClient, a następnie ustawić Active := True, aby nawiązać połączenie.
MQTT v5.0 nie jest wstecznie kompatybilny z wersją v3.1.1. Wprowadzono zbyt wiele nowych elementów, więc istniejące implementacje wymagają przeglądu.
Zgodnie ze specyfikacją, MQTT v5.0 wprowadza znaczną liczbę nowych funkcji do MQTT, zachowując jednocześnie większość rdzenia w niezmienionej formie.
Funkcjonalność flagi Clean Session jest podzielona na 2 właściwości, aby zapewnić dokładniejszą kontrolę nad danymi stanu sesji: parametr CleanStart oraz nowy SessionExpInterval.
Rozłączenie przez serwer: umożliwia serwerowi wysłanie DISCONNECT w celu wskazania przyczyny zamknięcia połączenia.
Wszystkie pakiety odpowiedzi (CONNACK, PUBACK, PUBREC, PUBREL, PUBCOMP, SUBACK, UNSUBACK, DISCONNECT) zawierają teraz kod przyczyny i ciąg przyczyny opisujące, dlaczego operacje zakończyły się powodzeniem lub niepowodzeniem.
Ulepszone uwierzytelnianie: Zapewnia mechanizm umożliwiający uwierzytelnianie w stylu challenge/response, w tym uwierzytelnianie wzajemne. Pozwala to na stosowanie uwierzytelniania w stylu SASL, jeśli jest ono obsługiwane zarówno przez klienta, jak i serwer, oraz umożliwia klientowi ponowne uwierzytelnienie w ramach istniejącego połączenia.
Wzorzec żądanie/odpowiedź jest sformalizowany przez dodanie tematu ResponseTopic.
Subskrypcje współdzielone: dodano obsługę subskrypcji współdzielonych umożliwiających równoważenie obciążenia wśród konsumentów subskrypcji.
Aliasy tematów mogą być wysyłane zarówno przez klienta, jak i serwer w celu odwoływania się do filtrów tematów za pomocą krótszych identyfikatorów numerycznych, co pozwala oszczędzać przepustowość.
Serwery mogą informować o obsługiwanych funkcjach w ConnectionProperties.
Odwołanie do serwera: umożliwia serwerowi wskazanie alternatywnego serwera do użycia w komunikatach CONNACK lub DISCONNECT. Może służyć jako przekierowanie lub do inicjowania obsługi urządzenia.
Więcej: obsługiwane są wygasanie wiadomości, Receive Maximums i Maximum Packet Sizes oraz interwał Will Delay.