TsgcWSPServer_sgc › Propiedades › QoS
QoS Propiedad
Opciones de Calidad de Servicio (Nivel, Intervalo, Tiempo de espera) para la entrega con acuse de recibo.
Sintaxis
property QoS: TsgcWSQoS_Options read FQoS write SetQoS;
Valor Predeterminado
—
Observaciones
Se admiten tres garantías de entrega, equivalentes al modelo MQTT:
- Nivel 0 — "Como máximo una vez": los mensajes enviados desde el servidor se entregan con mejor esfuerzo sobre TCP sin reintento ni acuse de recibo.
- Nivel 1 — "Al menos una vez": los mensajes salientes llevan un Id; el servidor los mantiene en una lista pendiente y los reenvía si el cliente no acusa recibo en el plazo de Timeout segundos. Los duplicados se detectan por Id.
- Nivel 2 — "Exactamente una vez": el servidor realiza un handshake de dos pasos PubRec/PubRel antes de liberar el mensaje a los suscriptores. Úselo para operaciones donde los mensajes duplicados o perdidos no son aceptables.
Interval controla con qué frecuencia el temporizador QoS interno analiza los mensajes pendientes; Timeout es el número de segundos sin acuse de recibo tras los cuales se reenvía un mensaje al cliente.
Ejemplo
oProtocol.QoS.Level := qosLevel1;
oProtocol.QoS.Interval := 60;
oProtocol.QoS.Timeout := 300;
Volver a Propiedades