TsgcWSPClient_MQTT › Events › OnMQTTPublish
Fires when the broker delivers an incoming PUBLISH message; exposes Topic, Text and MQTT 5 PublishProperties.
property OnMQTTPublish: TsgcWSMQTTPublishEvent;
// TsgcWSMQTTPublishEvent = procedure(Connection: TsgcWSConnection; aTopic, aText: String; PublishProperties: TsgcWSMQTTPUBLISHProperties) of object
—
Main delivery event: raised every time the broker forwards a PUBLISH to this client for a topic matching one of its subscriptions. Regardless of the publish QoS (0, 1 or 2) the event fires after the transport-level acknowledgement sequence is complete: QoS 0 is fire-and-forget, QoS 1 after PUBACK, QoS 2 after the PUBREC/PUBREL/PUBCOMP exchange. Parameters:
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;