MQTT Mesaj Yayınlama ve Yanıt Bekleme

· Özellikler

sgcWebSockets 4.4.4 sürümünden itibaren MQTT istemcisinde PublishAndWait adında yeni bir metot bulunur. Şimdiye kadar, bir istemci QoS düzey 1 veya 2 kullanarak bir mesaj yayınladığında, mesajın sunucu tarafından işlenip işlenmediğini öğrenmenin tek yolu OnMQTTAcknowledgment veya OnMQTTPubComp asenkron olaylarını kullanmaktı; bu, istemcinin gönderilen mesajın sunucu tarafından onaylanıp onaylanmadığını kontrol etmek için kendi bekleme metodunu uygulaması gerektiği anlamına gelir.

Artık tam olarak bunu yapan özel bir metot, PublishAndWait bulunmaktadır; mesajı yayınlar ve sunucu istemciye bir onay gönderene kadar bekler; istemci bir zaman aşımından sonra onay almazsa işlev false döndürür.

PublishAndWait kullanımı normal Publish metoduyla aynıdır; artık Timeout adında yeni bir parametreniz var; belirli bir süre sonra sunucudan yanıt gelmezse metot false değeriyle döner. Varsayılan olarak bu değer 10 saniyedir.

if mqtt.PublishAndWait('topic', 'text') then
  ShowMessage('Message processed')
else
  ShowMessage('Message error');