TsgcWSPClient_MQTTMetody › UnSubscribe

UnSubscribe Metoda

Usuwa jedną lub więcej aktywnych subskrypcji tematów z bieżącej sesji MQTT.

Przeciążenia

Przeciążenie 1

Składnia

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

Parametry

NazwaTypOpis
aTopicconst stringDokładny filtr tematu, pasujący do poprzedniego wywołania Subscribe, do usunięcia.
aUnsubscribePropertiesTsgcWSMQTTUnsubscribe_PropertiesOpcjonalne właściwości MQTT 5.0 (na przykład właściwości użytkownika). Należy przekazać nil, gdy nie są wymagane.

Wartość zwracana

Identyfikator pakietu przypisany do pakietu UNSUBSCRIBE; należy go skorelować z OnMQTTUnSubscribe, aby odczytać kody przyczyn brokera. (Word)

Uwagi

Przeciążenie dla jednego tematu. Filtr musi odpowiadać temu, który został pierwotnie przekazany do metody Subscribe, w tym symbole wieloznaczne; w przeciwnym razie broker zgłosi kod przyczyny „No subscription existed". Wiadomości oczekujące w locie mogą nadal zostać dostarczone po wywołaniu.

Przykład

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

Przeciążenie 2

Składnia

function UnSubscribe(aTopics: TsgcWSTopics): Word;

Parametry

NazwaTypOpis
aTopicsTsgcWSTopicsKolekcja filtrów tematów do usunięcia za pomocą jednego pakietu UNSUBSCRIBE.

Wartość zwracana

Identyfikator pakietu wsadowego UNSUBSCRIBE. (Word)

Uwagi

Przeciążenie wsadowe przydatne przy wyrejestrowywaniu klienta śledzącego wiele filtrów lub gdy zmiana trybu wymusza przepięcie kilku subskrypcji jednocześnie. Każdy wpis w kolekcji generuje własny kod przyczyny w komunikacie UNSUBACK brokera, zgłaszany przez OnMQTTUnSubscribe.

Przykład

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

Powrót do metod