TsgcWSPClient_MQTTメソッド › UnSubscribe

UnSubscribe メソッド

現在の MQTT セッションから 1 つ以上のアクティブなトピックサブスクリプションを削除します。

オーバーロード

オーバーロード 1

構文

function UnSubscribe(const aTopic: string; aUnsubscribeProperties: TsgcWSMQTTUnsubscribe_Properties = nil) : Word;

パラメータ

名前タイプ説明
aTopicconst string以前の Subscribe 呼び出しに一致する正確なトピックフィルター (削除対象)。
aUnsubscribePropertiesTsgcWSMQTTUnsubscribe_Propertiesオプションの MQTT 5.0 プロパティ(例: ユーザープロパティ)。不要な場合は nil を渡してください。

戻り値

UNSUBSCRIBE パケットに割り当てられたパケット識別子。OnMQTTUnSubscribe と関連付けてブローカーの理由コードを読み取ります。(Word)

解説

単一トピックのオーバーロード。フィルターは、ワイルドカードを含めて、Subscribeに最初に渡されたものと一致する必要があります。そうでない場合、ブローカーは「No subscription existed」理由コードを報告します。すでに送信中の保留メッセージは、呼び出し後も配信される可能性があります。

使用例

MQTT.UnSubscribe('sensors/+/temperature');

オーバーロード 2

構文

function UnSubscribe(aTopics: TsgcWSTopics): Word;

パラメータ

名前タイプ説明
aTopicsTsgcWSTopics単一の UNSUBSCRIBE パケットでドロップするトピックフィルターのコレクション。

戻り値

バッチ UNSUBSCRIBE パケットのパケット識別子。(Word

解説

多くのフィルターを追跡するクライアントをログオフするとき、またはモード変更によって複数のサブスクリプションの再配線が必要になるときに役立つバッチオーバーロード。コレクション内の各エントリは、ブローカーのUNSUBACKで独自の理由コードを生成し、OnMQTTUnSubscribeを通じて報告されます。

使用例

oTopics := TsgcWSTopics.Create;
try
  oTopics.Add('sensors/#');
  oTopics.Add('alerts/#');
  MQTT.UnSubscribe(oTopics);
finally
  oTopics.Free;
end;

メソッドに戻る