TsgcWSPClient_MQTT › メソッド › UnSubscribe
現在の MQTT セッションから 1 つ以上のアクティブなトピックサブスクリプションを削除します。
function UnSubscribe(const aTopic: string; aUnsubscribeProperties: TsgcWSMQTTUnsubscribe_Properties = nil) : Word;
| 名前 | タイプ | 説明 |
|---|---|---|
aTopic | const string | 以前の Subscribe 呼び出しに一致する正確なトピックフィルター (削除対象)。 |
aUnsubscribeProperties | TsgcWSMQTTUnsubscribe_Properties | オプションの MQTT 5.0 プロパティ(例: ユーザープロパティ)。不要な場合は nil を渡してください。 |
UNSUBSCRIBE パケットに割り当てられたパケット識別子。OnMQTTUnSubscribe と関連付けてブローカーの理由コードを読み取ります。(Word)
単一トピックのオーバーロード。フィルターは、ワイルドカードを含めて、Subscribeに最初に渡されたものと一致する必要があります。そうでない場合、ブローカーは「No subscription existed」理由コードを報告します。すでに送信中の保留メッセージは、呼び出し後も配信される可能性があります。
MQTT.UnSubscribe('sensors/+/temperature');
function UnSubscribe(aTopics: TsgcWSTopics): Word;
| 名前 | タイプ | 説明 |
|---|---|---|
aTopics | TsgcWSTopics | 単一の UNSUBSCRIBE パケットでドロップするトピックフィルターのコレクション。 |
バッチ UNSUBSCRIBE パケットのパケット識別子。(Word)
多くのフィルターを追跡するクライアントをログオフするとき、またはモード変更によって複数のサブスクリプションの再配線が必要になるときに役立つバッチオーバーロード。コレクション内の各エントリは、ブローカーのUNSUBACKで独自の理由コードを生成し、OnMQTTUnSubscribeを通じて報告されます。
oTopics := TsgcWSTopics.Create;
try
oTopics.Add('sensors/#');
oTopics.Add('alerts/#');
MQTT.UnSubscribe(oTopics);
finally
oTopics.Free;
end;