TsgcWSPClient_MQTTZdarzenia › OnMQTTPublish

OnMQTTPublish Zdarzenie

Wywoływane po dostarczeniu przez brokera przychodzącej wiadomości PUBLISH; udostępnia właściwości Topic, Text i MQTT 5 PublishProperties.

Składnia

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

Wartość domyślna

Uwagi

Główne zdarzenie dostarczania: wywoływane za każdym razem, gdy broker przekazuje komunikat PUBLISH do tego klienta dla tematu pasującego do jednej z jego subskrypcji. Niezależnie od QoS publikacji (0, 1 lub 2) zdarzenie jest wyzwalane po zakończeniu sekwencji potwierdzenia na poziomie transportu: QoS 0 to fire-and-forget, QoS 1 po PUBACK, QoS 2 po wymianie PUBREC/PUBREL/PUBCOMP. Parametry:

Przykład

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;

Powrót do Zdarzeń