TsgcWSPClient_MQTT › Événements › OnMQTTPubRec
Se déclenche lors du deuxième échange du handshake QoS 2 (PUBLISH → PUBREC → PUBREL → PUBCOMP).
property OnMQTTPubRec: TsgcWSMQTTPubRecEvent;
// TsgcWSMQTTPubRecEvent = procedure(Connection: TsgcWSConnection; aPacketIdentifier: Word; ReasonCode: Integer; const ReasonName: String; PubRecProperties: TsgcWSMQTTPUBRECProperties) of object
—
QoS 2 garantit une livraison exactement-une-fois via une négociation à quatre paquets : PUBLISH → PUBREC → PUBREL → PUBCOMP. OnMQTTPubRec se déclenche lorsque le broker acquitte le PUBLISH original avec un paquet PUBREC, signalant que le broker a accepté le message pour le flux exactement-une-fois. Le composant répond automatiquement avec PUBREL pour continuer la négociation ; le PUBCOMP final arrivera via OnMQTTPubComp. Paramètres :
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;