TsgcWSPClient_MQTTEvents › OnMQTTPublish

OnMQTTPublish Evento

Disparado quando o broker entrega uma mensagem PUBLISH de entrada; expõe Topic, Text e PublishProperties do MQTT 5.

Sintaxe

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

Valor Padrão

Observações

Principal evento de entrega: gerado toda vez que o broker encaminha um PUBLISH a este cliente para um tópico que corresponde a uma de suas subscrições. Independentemente do QoS de publicação (0, 1 ou 2), o evento é disparado após a sequência de confirmação de nível de transporte estar completa: QoS 0 é fire-and-forget, QoS 1 após PUBACK, QoS 2 após a troca PUBREC/PUBREL/PUBCOMP. Parâmetros:

Exemplo

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;

Voltar para Eventos