TsgcWSPClient_MQTTYöntemler › UnSubscribe

UnSubscribe Yöntem

Mevcut MQTT oturumundan bir veya daha fazla aktif konu aboneliğini kaldırır.

Aşırı Yüklemeler

Aşırı Yükleme 1

Sözdizimi

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

Parametreler

NameTypeAçıklama
aTopicconst stringKaldı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.

Dönüş Değeri

UNSUBSCRIBE paketine atanan paket tanımlayıcısı; broker'ın neden kodlarını okumak için onu OnMQTTUnSubscribe ile ilişkilendirin. (Word)

Remarks

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.

Örnek

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

Overload 2

Sözdizimi

function UnSubscribe(aTopics: TsgcWSTopics): Word;

Parametreler

NameTypeAçıklama
aTopicsTsgcWSTopicsTek bir UNSUBSCRIBE paketiyle bırakılacak konu filtrelerinin koleksiyonu.

Dönüş Değeri

Toplu UNSUBSCRIBE paketinin paket tanımlayıcısı. (Word)

Remarks

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.

Örnek

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

Yöntemlere Dön