MQTT es un protocolo de transporte de mensajería publicación/suscripción cliente-servidor. Es ligero, abierto, sencillo y está diseñado para ser fácil de implementar. Estas características lo hacen ideal para su uso en muchas situaciones, incluidos entornos con recursos limitados como la comunicación en contextos de Machine to Machine (M2M) e Internet of Things (IoT), donde se requiere un bajo consumo de código y/o el ancho de banda de red es escaso.
El protocolo se ejecuta sobre TCP/IP, o sobre otros protocolos de red que proporcionan conexiones ordenadas, sin pérdidas y bidireccionales. Sus características incluyen:
· Uso del patrón de mensajes publicar/suscribir que proporciona distribución de mensajes de uno a muchos y desacoplamiento de aplicaciones.
· Un transporte de mensajería agnóstico al contenido de la carga útil.
· Tres calidades de servicio para la entrega de mensajes:
· "Como mucho una vez", donde los mensajes se entregan según el mejor esfuerzo del entorno operativo. Puede producirse pérdida de mensajes. Este nivel podría usarse, por ejemplo, con datos de sensores ambientales, donde no importa si se pierde una lectura individual, ya que la siguiente se publicará poco después.
· "Al menos una vez", donde los mensajes tienen garantía de llegada pero pueden producirse duplicados.
· "Exactamente una vez", donde se garantiza que los mensajes lleguen exactamente una vez. Este nivel podría usarse, por ejemplo, en sistemas de facturación donde los mensajes duplicados o perdidos podrían generar cargos incorrectos.
· Una pequeña sobrecarga de transporte e intercambios de protocolo minimizados para reducir el tráfico de red.
· Un mecanismo para notificar a las partes interesadas cuando se produce una desconexión anormal.
Soporta las versiones MQTT 3.1.1 y 5.0.
Publicación/suscripción patrón de mensajes para proporcionar distribución de mensajes de uno a muchos y desacoplamiento de aplicaciones.
TsgcWSPClient_MQTT: Componente cliente MQTT.