TsgcWSPClient_MQTT › Metodi › Disconnect
Invia un pacchetto MQTT DISCONNECT per terminare la sessione in modo corretto.
procedure Disconnect;
Esegue un DISCONNECT MQTT standard usando il codice motivo 0 (Disconnessione Normale) senza proprietà aggiuntive. Utilizzare questo overload quando l'applicazione desidera semplicemente disconnettersi e sopprimere la consegna del messaggio Last Will. Il trasporto WebSocket sottostante non viene chiuso qui; chiamare Disconnect del client padre per chiudere il socket.
MQTT.Disconnect;
procedure Disconnect(aReasonCode: Integer; aDisconnectProperties: TsgcWSMQTTDisconnect_Properties = nil);
| Nome | Tipo | Descrizione |
|---|---|---|
aReasonCode | Integer | Codice motivo MQTT 5.0 segnalato al broker (ad esempio 0 = Normale, 4 = Disconnetti con messaggio Will, 129 = Pacchetto non valido, 139 = Server in chiusura). |
aDisconnectProperties | TsgcWSMQTTDisconnect_Properties | Proprietà MQTT 5.0 facoltative come Session Expiry Interval, Reason String, Server Reference o User Properties. Passi nil quando non sono richieste proprietà. |
Overload di MQTT 5.0 che consente al client di segnalare il motivo per cui sta uscendo. Impostando aReasonCode su 4 si chiede al broker di pubblicare il Last Will Testament configurato, mentre qualsiasi codice diverso da zero fa sì che il broker registri la chiusura anomala. Ignorato quando la sessione è stata negoziata come MQTT 3.1.1.
oProps := TsgcWSMQTTDisconnect_Properties.Create;
try
oProps.ReasonString := 'client shutting down';
MQTT.Disconnect(0, oProps);
finally
oProps.Free;
end;