TsgcWSPClient_MQTT › Yöntemler › UnSubscribe
Mevcut MQTT oturumundan bir veya daha fazla aktif konu aboneliğini kaldırır.
function UnSubscribe(const aTopic: string; aUnsubscribeProperties: TsgcWSMQTTUnsubscribe_Properties = nil) : Word;
| Name | Type | Açıklama |
|---|---|---|
aTopic | const string | Kaldırılacak, önceki bir Subscribe çağrısıyla eşleşen tam konu (topic) filtresi. |
aUnsubscribeProperties |
TsgcWSMQTTUnsubscribe_Properties | İsteğe bağlı MQTT 5.0 özellikleri (örneğin User Properties). Gerekli olmadığında nil geçirin. |
UNSUBSCRIBE paketine atanan paket tanımlayıcısı; broker'ın neden kodlarını okumak için onu OnMQTTUnSubscribe ile ilişkilendirin. (Word)
Tek konulu aşırı yükleme. Filtre, joker karakterler dahil olmak üzere başlangıçta Subscribe'a geçirilenle eşleşmelidir, aksi takdirde broker bir "No subscription existed" neden kodu bildirir. Çağrıdan sonra zaten iletim halinde olan bekleyen mesajlar yine de teslim edilebilir.
MQTT.UnSubscribe('sensors/+/temperature');
function UnSubscribe(aTopics: TsgcWSTopics): Word;
| Name | Type | Açıklama |
|---|---|---|
aTopics | TsgcWSTopics | Tek bir UNSUBSCRIBE paketiyle bırakılacak konu filtrelerinin koleksiyonu. |
Toplu UNSUBSCRIBE paketinin paket tanımlayıcısı. (Word)
Birçok filtreyi izleyen bir istemcinin oturumunu kapatırken veya bir mod değişikliği aynı anda birkaç aboneliğin yeniden bağlanmasını zorladığında kullanışlı olan batch aşırı yüklemesi. Koleksiyondaki her giriş, broker'ın UNSUBACK'inde kendi neden kodunu üretir ve OnMQTTUnSubscribe aracılığıyla bildirilir.
oTopics := TsgcWSTopics.Create;
try
oTopics.Add('sensors/#');
oTopics.Add('alerts/#');
MQTT.UnSubscribe(oTopics);
finally
oTopics.Free;
end;