O componente MQTT fornece uma implementação de cliente MQTT leve e completa, com suporte às versões 3.
O componente MQTT fornece uma implementação de cliente MQTT leve e completa, com suporte às versões 3.1.1 e 5.0. O componente suporta conexões em texto puro e seguras tanto sobre TCP padrão quanto sobre WebSockets.
A conexão a um servidor MQTT é simples, você precisa arrastar este componente para o formulário e selecionar um componente TsgcWebSocketClient utilizando a propriedade Client. Defina host e port em TsgcWebSocketClient e defina Active := True para conectar.
O MQTT v5.0 não é retrocompatível (como o v3.1.1). Obviamente, muitas coisas novas são introduzidas, então as implementações existentes precisam ser revisadas.
De acordo com a especificação, o MQTT v5.0 adiciona um número significativo de novos recursos ao MQTT, mantendo grande parte do núcleo em vigor.
A funcionalidade da flag Clean Session é dividida em 2 propriedades para permitir um controle mais fino sobre os dados de estado da sessão: o parâmetro CleanStart e o novo SessionExpInterval.
Desconexão do servidor: permite que o DISCONNECT seja enviado pelo servidor para indicar o motivo do fechamento da conexão.
Todos os pacotes de resposta (CONNACK, PUBACK, PUBREC, PUBREL, PUBCOMP, SUBACK, UNSUBACK, DISCONNECT) agora contêm um reason code e uma reason string descrevendo por que as operações tiveram sucesso ou falharam.
Autenticação aprimorada: Fornece um mecanismo para habilitar autenticação no estilo desafio/resposta, incluindo autenticação mútua. Isso permite que a autenticação no estilo SASL seja usada se suportada tanto pelo Cliente quanto pelo Servidor, e inclui a capacidade de um Cliente se reautenticar dentro de uma conexão.
O padrão Request / Response é formalizado pela adição do ResponseTopic.
Shared Subscriptions: Adiciona suporte a assinaturas compartilhadas, permitindo consumidores com balanceamento de carga de uma assinatura.
Os Topic Aliases podem ser enviados tanto pelo cliente quanto pelo servidor para se referir a filtros de tópico por identificadores numéricos mais curtos, a fim de economizar largura de banda.
Os servidores podem comunicar quais recursos suportam em ConnectionProperties.
Referência de servidor: Permite que o Servidor especifique um Servidor alternativo a ser usado em CONNACK ou DISCONNECT. Isso pode ser usado como um redirecionamento ou para fazer provisionamento.
Mais: expiração de mensagem, Receive Maximums e Maximum Packet Sizes, e um intervalo de Will Delay são todos suportados.