TsgcWSPClient_MQTT › Metody › UnSubscribe
Usuwa jedną lub więcej aktywnych subskrypcji tematów z bieżącej sesji MQTT.
function UnSubscribe(const aTopic: string; aUnsubscribeProperties: TsgcWSMQTTUnsubscribe_Properties = nil) : Word;
| Nazwa | Typ | Opis |
|---|---|---|
aTopic | const string | Dokładny filtr tematu, pasujący do poprzedniego wywołania Subscribe, do usunięcia. |
aUnsubscribeProperties | TsgcWSMQTTUnsubscribe_Properties | Opcjonalne właściwości MQTT 5.0 (na przykład właściwości użytkownika). Należy przekazać nil, gdy nie są wymagane. |
Identyfikator pakietu przypisany do pakietu UNSUBSCRIBE; należy go skorelować z OnMQTTUnSubscribe, aby odczytać kody przyczyn brokera. (Word)
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.
MQTT.UnSubscribe('sensors/+/temperature');
function UnSubscribe(aTopics: TsgcWSTopics): Word;
| Nazwa | Typ | Opis |
|---|---|---|
aTopics | TsgcWSTopics | Kolekcja filtrów tematów do usunięcia za pomocą jednego pakietu UNSUBSCRIBE. |
Identyfikator pakietu wsadowego UNSUBSCRIBE. (Word)
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.
oTopics := TsgcWSTopics.Create;
try
oTopics.Add('sensors/#');
oTopics.Add('alerts/#');
MQTT.UnSubscribe(oTopics);
finally
oTopics.Free;
end;