TsgcWSPClient_MQTT › 메서드 › UnSubscribe
현재 MQTT 세션에서 하나 이상의 활성 토픽 구독을 제거합니다.
function UnSubscribe(const aTopic: string; aUnsubscribeProperties: TsgcWSMQTTUnsubscribe_Properties = nil) : Word;
| Name | Type | 설명 |
|---|---|---|
aTopic | const string | 제거할, 이전 Subscribe 호출과 일치하는 정확한 topic 필터입니다. |
aUnsubscribeProperties | TsgcWSMQTTUnsubscribe_Properties | 선택적 MQTT 5.0 속성(예: User Properties)입니다. 필요하지 않으면 nil을 전달하십시오. |
UNSUBSCRIBE 패킷에 할당된 패킷 식별자. 브로커의 이유 코드를 읽으려면 OnMQTTUnSubscribe와 연관시키십시오. (Word)
단일 토픽 오버로드입니다. 필터는 와일드카드를 포함하여 원래 Subscribe에 전달된 것과 일치해야 합니다. 그렇지 않으면 브로커가 "No subscription existed" reason code를 보고합니다. 이미 진행 중인 보류 메시지는 호출 후에도 여전히 전달될 수 있습니다.
MQTT.UnSubscribe('sensors/+/temperature');
function UnSubscribe(aTopics: TsgcWSTopics): Word;
| Name | Type | 설명 |
|---|---|---|
aTopics | TsgcWSTopics | 단일 UNSUBSCRIBE 패킷으로 삭제할 토픽 필터의 컬렉션입니다. |
배치된 UNSUBSCRIBE 패킷의 패킷 식별자입니다. (Word)
많은 필터를 추적하는 클라이언트를 로그오프하거나, 모드 변경으로 여러 구독을 한 번에 다시 연결해야 할 때 유용한 batch 오버로드입니다. 컬렉션의 각 항목은 브로커의 UNSUBACK에서 자체 reason code를 생성하며, OnMQTTUnSubscribe를 통해 보고됩니다.
oTopics := TsgcWSTopics.Create;
try
oTopics.Add('sensors/#');
oTopics.Add('alerts/#');
MQTT.UnSubscribe(oTopics);
finally
oTopics.Free;
end;