TsgcWSPClient_MQTTEvents › OnMQTTPublish

OnMQTTPublish Ereignis

Wird ausgelöst, wenn der Broker eine eingehende PUBLISH-Nachricht zustellt; stellt Topic, Text und MQTT-5-PublishProperties bereit.

Syntax

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

Standardwert

Hinweise

Hauptzustellungsereignis: Wird jedes Mal ausgelöst, wenn der Broker ein PUBLISH an diesen Client für ein Topic weiterleitet, das einem seiner Abonnements entspricht. Unabhängig von der Publish-QoS (0, 1 oder 2) wird das Ereignis ausgelöst, nachdem die Bestätigungssequenz auf Transportebene abgeschlossen ist: QoS 0 ist Fire-and-forget, QoS 1 nach PUBACK, QoS 2 nach dem PUBREC/PUBREL/PUBCOMP-Austausch. Parameter:

Beispiel

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;

Zurück zu Ereignissen