TsgcWSPClient_MQTT › Eventi › OnMQTTDisconnect
Viene generato quando il broker invia un DISCONNECT o la sessione viene chiusa; riporta ReasonCode e DisconnectProperties MQTT 5.
property OnMQTTDisconnect: TsgcWSMQTTDisconnectEvent;
// TsgcWSMQTTDisconnectEvent = procedure(Connection: TsgcWSConnection; ReasonCode: Integer; const ReasonName: String; DisconnectProperties: TsgcWSMQTTDISCONNECTProperties) of object
—
Segnala che la sessione MQTT è in fase di terminazione. MQTT 3.1.1 non dispone di un pacchetto DISCONNECT inviato dal server, quindi in quel caso l'evento riflette una chiusura rilevata localmente. MQTT 5.0 introduce un pacchetto DISCONNECT che il broker può inviare per spiegare il motivo della chiusura della connessione. Parametri:
Utilizzare questo evento per registrare la causa, aggiornare lo stato dell'interfaccia utente e, se ServerReference è impostato, considerare la riconnessione al broker suggerito.
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;