TsgcWSPClient_MQTT › 속성 › QoS
아웃바운드 QoS 1 및 QoS 2 메시지에 대한 기본 Quality of Service 수준 및 재시도/시간 초과 동작입니다.
property QoS: TsgcWSMQTTQoS_Options read FQoS write SetQoS;
Level=mtqsAtMostOnce, Interval=60, Timeout=300
Level은 명시적 값이 제공되지 않을 때 편의 메서드가 적용하는 기본 QoS입니다: mtqsAtMostOnce (QoS 0 — fire-and-forget), mtqsAtLeastOnce (QoS 1 — PUBACK로 확인됨, 중복될 수 있음) 또는 mtqsExactlyOnce (QoS 2 — 4방향 핸드셰이크 PUBLISH/PUBREC/PUBREL/PUBCOMP, 단일 전달 보장). Interval(초)은 내부 QoS 저장소가 확인되지 않은 QoS 1 및 QoS 2 메시지를 재전송하는 빈도입니다. Timeout(초)은 확인되지 않은 메시지가 저장소에서 삭제되는 최대 수명입니다. QoS 0 메시지는 재시도 저장소를 완전히 우회합니다. Timeout을 늘리면 지연 시간이 길거나 간헐적인 링크에서 도움이 됩니다. 재전송 로직을 비활성화하고 MQTT 5.0 세션 만료에만 의존하려면 둘 다 0으로 설정하십시오.
MQTT.QoS.Level := mtqsAtLeastOnce;
MQTT.QoS.Interval := 30;
MQTT.QoS.Timeout := 600;
MQTT.Publish('sensors/temp', '21.5');