TsgcWSPClient_MQTT › Yöntemler › Subscribe
İstemciyi, istenen QoS'ta bir veya daha fazla topic filtresine abone eder.
function Subscribe(const aTopic: String; aQoS: TmqttQoS = mtqsAtMostOnce; const aSubscribeProperties: TsgcWSMQTTSubscribe_Properties = nil) : Word;
| Name | Type | Açıklama |
|---|---|---|
aTopic | const String | Abone olunacak konu filtresi; tek seviyeli (+) ve çok seviyeli (#) joker karakterler desteklenir. |
aQoS | TmqttQoS | Broker'ın eşleşen mesajlar için teslim etmesi gereken maksimum QoS. Varsayılan olarak mtqsAtMostOnce. |
aSubscribeProperties | const TsgcWSMQTTSubscribe_Properties | Subscription Identifier, No Local bayrağı, Retain As Published veya Retain Handling gibi isteğe bağlı MQTT 5.0 özellikleri. Varsayılanları kullanmak için nil geçin. |
SUBSCRIBE paketinin paket tanımlayıcısı. Broker'ın gerçekte atadığı QoS'u öğrenmek için OnMQTTSubscribe aracılığıyla raporlanan izinle (grant) ilişkilendirin. (Word)
Tek konulu aşırı yükleme, en yaygın biçim. Gelen mesajlar OnMQTTPublish (veya MQTT 5.0 için OnMQTTPublishEx) aracılığıyla görünür. Broker, istenen düzeyi desteklemiyorsa veya ACL kuralları geçerliyse QoS'u düşürebilir.
MQTT.Subscribe('sensors/+/temperature', mtqsAtLeastOnce);
function Subscribe(aTopics: TsgcWSTopics): Word;
| Name | Type | Açıklama |
|---|---|---|
aTopics | TsgcWSTopics | Tek bir SUBSCRIBE paketi olarak gönderilen, ayrı ayrı QoS ayarlarına sahip konu (topic) filtreleri koleksiyonu. |
Batch edilmiş SUBSCRIBE paketinin paket tanımlayıcısı; OnMQTTSubscribe aracılığıyla alınan tüm izinleri ilişkilendirmek için kullanılır. (Word)
Tek bir gidiş-dönüşte birkaç filtreye abone olan toplu aşırı yükleme. Ağ gürültüsünü azaltmak ve broker'a tek bir SUBACK'te tam bir reason-code listesi döndürme şansı vermek için, tek konulu çağrıların bir döngüsü yerine bunu tercih edin.
oTopics := TsgcWSTopics.Create;
try
oTopics.Add('sensors/#', mtqsAtLeastOnce);
oTopics.Add('alerts/#', mtqsExactlyOnce);
MQTT.Subscribe(oTopics);
finally
oTopics.Free;
end;