TsgcWSPClient_MQTT › Métodos › Disconnect
Envía un paquete MQTT DISCONNECT para finalizar la sesión de forma limpia.
procedure Disconnect;
Realiza una desconexión MQTT estándar usando el código de razón 0 (Desconexión normal) sin propiedades adicionales. Use esta sobrecarga cuando la aplicación simplemente desee cerrar sesión y suprimir la entrega del mensaje de Última Voluntad. El transporte WebSocket subyacente no se cierra aquí; llame al Disconnect del cliente padre para cerrar el socket.
MQTT.Disconnect;
procedure Disconnect(aReasonCode: Integer; aDisconnectProperties: TsgcWSMQTTDisconnect_Properties = nil);
| Nombre | Tipo | Descripción |
|---|---|---|
aReasonCode | Integer | Código de razón MQTT 5.0 notificado al broker (por ejemplo, 0 = Normal, 4 = Desconexión con mensaje Will, 129 = Paquete mal formado, 139 = Servidor cerrando). |
aDisconnectProperties | TsgcWSMQTTDisconnect_Properties | Propiedades opcionales de MQTT 5.0 como Session Expiry Interval, Reason String, Server Reference o User Properties. Pase nil cuando no se requieran propiedades. |
Sobrecarga de MQTT 5.0 que permite al cliente indicar el motivo por el que se desconecta. Al establecer aReasonCode en 4, se solicita al broker que publique el Testamento de Último Deseo configurado, mientras que cualquier código distinto de cero hace que el broker registre el cierre anormal. Se ignora cuando la sesión fue negociada como MQTT 3.1.1.
oProps := TsgcWSMQTTDisconnect_Properties.Create;
try
oProps.ReasonString := 'client shutting down';
MQTT.Disconnect(0, oProps);
finally
oProps.Free;
end;