TsgcWSPClient_MQTT › Metody › Disconnect
Wysyła pakiet MQTT DISCONNECT w celu zakończenia sesji w sposób kontrolowany.
procedure Disconnect;
Wykonuje standardowe rozłączenie MQTT przy użyciu kodu przyczyny 0 (normalne rozłączenie) bez dodatkowych właściwości. Tego przeciążenia należy używać, gdy aplikacja chce po prostu wylogować się i pominąć dostarczenie wiadomości Last Will. Bazowy transport WebSocket nie jest tutaj zamykany; należy wywołać metodę Disconnect klienta nadrzędnego, aby zamknąć gniazdo.
MQTT.Disconnect;
procedure Disconnect(aReasonCode: Integer; aDisconnectProperties: TsgcWSMQTTDisconnect_Properties = nil);
| Nazwa | Typ | Opis |
|---|---|---|
aReasonCode | Integer | Kod przyczyny MQTT 5.0 zgłaszany do brokera (np. 0 = Normal, 4 = Disconnect with Will Message, 129 = Malformed Packet, 139 = Server Shutting Down). |
aDisconnectProperties | TsgcWSMQTTDisconnect_Properties | Opcjonalne właściwości MQTT 5.0, takie jak Session Expiry Interval, Reason String, Server Reference lub User Properties. Należy przekazać nil, gdy żadne właściwości nie są wymagane. |
Przeciążenie MQTT 5.0 umożliwiające klientowi sygnalizowanie przyczyny rozłączenia. Ustawienie aReasonCode na 4 żąda od brokera opublikowania skonfigurowanego Testamentu Last Will, natomiast każdy niezerowy kod powoduje zalogowanie przez brokera nieprawidłowego zamknięcia. Ignorowane, gdy sesja była negocjowana jako MQTT 3.1.1.
oProps := TsgcWSMQTTDisconnect_Properties.Create;
try
oProps.ReasonString := 'client shutting down';
MQTT.Disconnect(0, oProps);
finally
oProps.Free;
end;