Il componente MQTT fornisce un'implementazione client MQTT leggera e completa con supporto per le versioni 3.
Il componente MQTT fornisce un'implementazione di client MQTT leggera e completa, con supporto per le versioni 3.1.1 e 5.0. Il componente supporta connessioni in chiaro e sicure sia su TCP standard sia su WebSocket.
La connessione a un server MQTT è semplice: è sufficiente inserire questo componente nel form e selezionare un componente TsgcWebSocketClient tramite la proprietà Client. Impostare host e porta in TsgcWebSocketClient e impostare Active := True per connettersi.
MQTT v5.0 non è retrocompatibile (come la v3.1.1). Ovviamente vengono introdotte troppe novità, quindi le implementazioni esistenti devono essere riviste.
Secondo la specifica, MQTT v5.0 aggiunge un numero significativo di nuove funzionalità a MQTT mantenendo gran parte del core invariato.
La funzionalità del flag Clean Session è suddivisa in 2 proprietà per consentire un controllo più fine sui dati di stato della sessione: il parametro CleanStart e il nuovo SessionExpInterval.
Disconnessione server: consente l'invio di DISCONNECT da parte del Server per indicare il motivo della chiusura della connessione.
Tutti i pacchetti di risposta (CONNACK, PUBACK, PUBREC, PUBREL, PUBCOMP, SUBACK, UNSUBACK, DISCONNECT) ora contengono un reason code e una reason string che descrivono perché le operazioni sono riuscite o fallite.
Autenticazione avanzata: fornisce un meccanismo per abilitare l'autenticazione in stile challenge/response, inclusa l'autenticazione reciproca. Ciò consente di utilizzare l'autenticazione in stile SASL se supportata sia dal client che dal server, e include la possibilità per un client di ri-autenticarsi all'interno di una connessione.
Il pattern Request / Response viene formalizzato dall'aggiunta del ResponseTopic.
Shared Subscriptions: aggiunge il supporto per le sottoscrizioni condivise consentendo consumer con bilanciamento del carico di una sottoscrizione.
Gli alias di topic possono essere inviati sia dal client che dal server per riferirsi ai filtri di topic tramite identificatori numerici più brevi al fine di risparmiare larghezza di banda.
I server possono comunicare quali funzionalità supportano in ConnectionProperties.
Riferimento al server: consente al server di specificare un server alternativo da utilizzare su CONNACK o DISCONNECT. Può essere utilizzato come reindirizzamento o per il provisioning.
Altro: scadenza dei messaggi, Receive Maximum e Maximum Packet Size, e un intervallo Will Delay sono tutti supportati.