TsgcWSPClient_MQTT › Propriedades › QoS
Nível de Quality of Service padrão e comportamento de retentativa/timeout para mensagens de saída QoS 1 e QoS 2.
property QoS: TsgcWSMQTTQoS_Options read FQoS write SetQoS;
Level=mtqsAtMostOnce, Interval=60, Timeout=300
Level é o QoS padrão aplicado pelos métodos de conveniência quando nenhum valor explícito é fornecido: mtqsAtMostOnce (QoS 0 — fire-and-forget), mtqsAtLeastOnce (QoS 1 — confirmado com PUBACK, pode duplicar) ou mtqsExactlyOnce (QoS 2 — handshake de quatro vias PUBLISH/PUBREC/PUBREL/PUBCOMP, entrega única garantida). Interval (segundos) é a frequência com que o store de QoS interno reenvia mensagens QoS 1 e QoS 2 não confirmadas; Timeout (segundos) é a idade máxima após a qual uma mensagem não confirmada é descartada do store. Mensagens QoS 0 ignoram completamente o store de retentativas. Aumentar Timeout ajuda em links de alta latência ou intermitentes; defina ambos como 0 para desabilitar a lógica de reenvio e confiar exclusivamente na expiração de sessão do MQTT 5.0.
MQTT.QoS.Level := mtqsAtLeastOnce;
MQTT.QoS.Interval := 30;
MQTT.QoS.Timeout := 600;
MQTT.Publish('sensors/temp', '21.5');