TsgcWSPClient_MQTTEvents › OnMQTTPublish

OnMQTTPublish Evento

Se activa cuando el broker entrega un mensaje PUBLISH entrante; expone Topic, Text y PublishProperties de MQTT 5.

Sintaxis

property OnMQTTPublish: TsgcWSMQTTPublishEvent;
// TsgcWSMQTTPublishEvent = procedure(Connection: TsgcWSConnection; aTopic, aText: String; PublishProperties: TsgcWSMQTTPUBLISHProperties) of object

Valor Predeterminado

Observaciones

Evento de entrega principal: se dispara cada vez que el broker reenvía un PUBLISH a este cliente para un tema que coincide con una de sus suscripciones. Independientemente del QoS de publicación (0, 1 o 2), el evento se activa después de que se completa la secuencia de acuse de recibo a nivel de transporte: QoS 0 es «disparar y olvidar», QoS 1 tras PUBACK, QoS 2 tras el intercambio PUBREC/PUBREL/PUBCOMP. Parámetros:

Ejemplo

procedure TForm1.MQTTPublish(Connection: TsgcWSConnection;
  aTopic, aText: String;
  PublishProperties: TsgcWSMQTTPUBLISHProperties);
begin
  Memo1.Lines.Add(Format('[%s] %s', [aTopic, aText]));

  // MQTT 5: honour a ResponseTopic if the sender set one
  if PublishProperties.ResponseTopic <> '' then
    MQTT.Publish(PublishProperties.ResponseTopic, 'ack', mtqsAtMostOnce);
end;

Volver a Eventos