TsgcWSPClient_MQTTEvents › OnMQTTPubRec

OnMQTTPubRec Event

Disparado na segunda etapa do handshake QoS 2 (PUBLISH → PUBREC → PUBREL → PUBCOMP).

Sintaxe

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

Valor Padrão

Observações

QoS 2 garante a entrega exatamente uma vez através de um handshake de quatro pacotes: PUBLISH → PUBREC → PUBREL → PUBCOMP. OnMQTTPubRec é disparado quando o broker confirma o PUBLISH original com um pacote PUBREC, sinalizando que o broker aceitou a mensagem para o fluxo exatamente uma vez. O componente responde automaticamente com PUBREL para continuar o handshake; o PUBCOMP final chegará em OnMQTTPubComp. Parâmetros:

Exemplo

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;

Voltar para Eventos