TsgcWSPClient_MQTTEvents › OnMQTTDisconnect

OnMQTTDisconnect Zdarzenie

Wywoływane, gdy broker wysyła ramkę DISCONNECT lub sesja jest zamykana; raportuje ReasonCode oraz właściwości DisconnectProperties MQTT 5.

Składnia

property OnMQTTDisconnect: TsgcWSMQTTDisconnectEvent;
// TsgcWSMQTTDisconnectEvent = procedure(Connection: TsgcWSConnection; ReasonCode: Integer; const ReasonName: String; DisconnectProperties: TsgcWSMQTTDISCONNECTProperties) of object

Wartość domyślna

Uwagi

Sygnalizuje zakończenie sesji MQTT. MQTT 3.1.1 nie posiada pakietu DISCONNECT inicjowanego przez serwer, dlatego w tym przypadku zdarzenie odzwierciedla wykryte lokalnie zamknięcie. MQTT 5.0 wprowadza pakiet DISCONNECT, który broker może wysłać, aby wyjaśnić przyczynę zamknięcia połączenia. Parametry:

Użyj tego zdarzenia do rejestrowania przyczyny, aktualizowania stanu interfejsu i, jeśli ustawiono ServerReference, rozważ ponowne połączenie z sugerowanym brokerem.

Przykład

procedure TForm1.MQTTDisconnect(Connection: TsgcWSConnection;
  ReasonCode: Integer; const ReasonName: String;
  DisconnectProperties: TsgcWSMQTTDISCONNECTProperties);
begin
  Memo1.Lines.Add(Format('Disconnect %d (%s)',
    [ReasonCode, ReasonName]));

  if DisconnectProperties.ServerReference <> '' then
    Memo1.Lines.Add('Broker suggests: ' +
      DisconnectProperties.ServerReference);
end;

Powrót do Zdarzeń