TsgcWSPClient_MQTTメソッド › Disconnect

Disconnect メソッド

セッションをクリーンに終了するために MQTT DISCONNECT パケットを送信します。

オーバーロード

オーバーロード 1

構文

procedure Disconnect;

解説

接続が切断された後に再接続しようとすると、reason code 0(正常切断)でない MQTT disconnect を使用し、Last Will メッセージの配信を抑制します。この WebSocket トランスポートはここでは閉じられません。ソケットを切断するには、親クライアントの Disconnect を呼び出してください。

使用例

MQTT.Disconnect;

オーバーロード 2

構文

procedure Disconnect(aReasonCode: Integer; aDisconnectProperties: TsgcWSMQTTDisconnect_Properties = nil);

パラメータ

名前タイプ説明
aReasonCodeIntegerブローカーに報告される MQTT 5.0 理由コード(例:0 = 正常、4 = Will メッセージで切断、129 = 不正なパケット、139 = サーバーがシャットダウン中)。
aDisconnectPropertiesTsgcWSMQTTDisconnect_Propertiesセッション有効期限間隔、理由文字列、サーバーリファレンス、ユーザープロパティなどのオプションの MQTT 5.0 プロパティ。プロパティが不要な場合は nil を渡してください。

解説

MQTT 5.0 のオーバーロードで、クライアントが離脱理由を通知できます。aReasonCode を 4 に設定すると、ブローカーに設定済みの Last Will Testament を発行するよう要求します。ゼロ以外のコードを指定すると、ブローカーは異常なクローズをログに記録します。セッションが MQTT 3.1.1 としてネゴシエートされた場合は無視されます。

使用例

oProps := TsgcWSMQTTDisconnect_Properties.Create;
try
  oProps.ReasonString := 'client shutting down';
  MQTT.Disconnect(0, oProps);
finally
  oProps.Free;
end;

メソッドに戻る