TsgcWSPClient_MQTTEreignisse › OnMQTTPubRec

OnMQTTPubRec Ereignis

Wird beim zweiten Schritt des QoS-2-Handshakes ausgelöst (PUBLISH → PUBREC → PUBREL → PUBCOMP).

Syntax

property OnMQTTPubRec: TsgcWSMQTTPubRecEvent;
// TsgcWSMQTTPubRecEvent = procedure(Connection: TsgcWSConnection; aPacketIdentifier: Word; ReasonCode: Integer; const ReasonName: String; PubRecProperties: TsgcWSMQTTPUBRECProperties) of object

Standardwert

Hinweise

QoS 2 garantiert die Exactly-once-Zustellung über einen Vier-Paket-Handshake: PUBLISH → PUBREC → PUBREL → PUBCOMP. OnMQTTPubRec wird ausgelöst, wenn der Broker das ursprüngliche PUBLISH mit einem PUBREC-Paket bestätigt, was signalisiert, dass der Broker die Nachricht für den Exactly-once-Ablauf akzeptiert hat. Die Komponente antwortet automatisch mit PUBREL, um den Handshake fortzusetzen; das abschließende PUBCOMP trifft über OnMQTTPubComp ein. Parameter:

Beispiel

procedure TForm1.MQTTPubRec(Connection: TsgcWSConnection;
  aPacketIdentifier: Word; ReasonCode: Integer;
  const ReasonName: String;
  PubRecProperties: TsgcWSMQTTPUBRECProperties);
begin
  // second leg of QoS 2: broker has the message, PUBREL is sent automatically
  Memo1.Lines.Add(Format('PUBREC id=%d (%s)',
    [aPacketIdentifier, ReasonName]));
end;

Zurück zu Ereignissen