TsgcWSPClient_MQTTPropiedades › QoS

QoS Propiedad

Nivel de Calidad de Servicio predeterminado y comportamiento de reintento/tiempo de espera para mensajes salientes de QoS 1 y QoS 2.

Sintaxis

property QoS: TsgcWSMQTTQoS_Options read FQoS write SetQoS;

Valor Predeterminado

Level=mtqsAtMostOnce, Interval=60, Timeout=300

Observaciones

Level es el QoS predeterminado aplicado por los métodos de conveniencia cuando no se suministra ningún valor explícito: mtqsAtMostOnce (QoS 0 — envío sin confirmación), mtqsAtLeastOnce (QoS 1 — confirmado con PUBACK, puede duplicarse) o mtqsExactlyOnce (QoS 2 — protocolo de enlace de cuatro pasos PUBLISH/PUBREC/PUBREL/PUBCOMP, entrega única garantizada). Interval (segundos) es la frecuencia con la que el almacén QoS interno reenvía mensajes QoS 1 y QoS 2 no confirmados; Timeout (segundos) es la antigüedad máxima tras la cual un mensaje no confirmado se elimina del almacén. Los mensajes QoS 0 omiten completamente el almacén de reintentos. Aumentar Timeout ayuda en enlaces de alta latencia o intermitentes; establezca ambos en 0 para deshabilitar la lógica de reenvío y depender únicamente de la expiración de sesión de MQTT 5.0.

Ejemplo


MQTT.QoS.Level := mtqsAtLeastOnce;
MQTT.QoS.Interval := 30;
MQTT.QoS.Timeout := 600;
MQTT.Publish('sensors/temp', '21.5');

Volver a Propiedades