El componente MQTT proporciona una implementación de cliente MQTT ligera y con todas las funciones, con soporte para las versiones 3.
El componente MQTT proporciona una implementación de cliente MQTT ligera y completa, compatible con las versiones 3.1.1 y 5.0. El componente admite conexiones en texto plano y seguras tanto sobre TCP estándar como sobre WebSockets.
La conexión a un servidor MQTT es sencilla: basta con colocar este componente en el formulario y seleccionar un componente TsgcWebSocketClient usando la propiedad Client. Establezca el host y el puerto en TsgcWebSocketClient y configure Active := True para conectarse.
MQTT v5.0 no es compatible con versiones anteriores (como la v3.1.1). Obviamente se introducen demasiadas novedades, por lo que las implementaciones existentes deben revisarse.
Según la especificación, MQTT v5.0 añade un número significativo de nuevas funcionalidades a MQTT manteniendo gran parte del núcleo original.
La funcionalidad de la marca Clean Session se divide en 2 propiedades para permitir un control más detallado sobre los datos del estado de sesión: el parámetro CleanStart y el nuevo SessionExpInterval.
Desconexión del servidor: permite que el servidor envíe DISCONNECT para indicar el motivo por el que se cierra la conexión.
Todos los paquetes de respuesta (CONNACK, PUBACK, PUBREC, PUBREL, PUBCOMP, SUBACK, UNSUBACK, DISCONNECT) ahora contienen un código de razón y una cadena de razón que describen por qué las operaciones se realizaron correctamente o fallaron.
Autenticación mejorada: Proporciona un mecanismo para habilitar la autenticación de tipo desafío/respuesta, incluida la autenticación mutua. Esto permite utilizar la autenticación de estilo SASL si es compatible tanto con el cliente como con el servidor, e incluye la posibilidad de que un cliente se reautentique dentro de una conexión.
El patrón Solicitud/Respuesta se formaliza mediante la adición del ResponseTopic.
Suscripciones compartidas: agrega soporte de suscripción compartida que permite consumidores con carga equilibrada de una suscripción.
Los Topic Aliases pueden ser enviados tanto por el cliente como por el servidor para hacer referencia a los filtros de topic mediante identificadores numéricos más cortos, con el fin de ahorrar ancho de banda.
Los servidores pueden comunicar las funcionalidades que admiten en ConnectionProperties.
Referencia de servidor: permite al Servidor especificar un servidor alternativo para usar en CONNACK o DISCONNECT. Puede utilizarse como redirección o para realizar aprovisionamiento.
Más: la expiración de mensajes, los máximos de recepción y los tamaños máximos de paquete, así como un intervalo de retardo de Will, están todos admitidos.