TsgcWSPClient_MQTT › Metodi › UnSubscribe
Rimuove una o più sottoscrizioni di argomenti attive dalla sessione MQTT corrente.
function UnSubscribe(const aTopic: string; aUnsubscribeProperties: TsgcWSMQTTUnsubscribe_Properties = nil) : Word;
| Nome | Tipo | Descrizione |
|---|---|---|
aTopic | const string | Filtro argomento esatto, corrispondente a una precedente chiamata Subscribe, da rimuovere. |
aUnsubscribeProperties | TsgcWSMQTTUnsubscribe_Properties | Proprietà MQTT 5.0 facoltative (per esempio User Properties). Passi nil quando non sono richieste. |
Identificatore del pacchetto assegnato al pacchetto UNSUBSCRIBE; lo correli con OnMQTTUnSubscribe per leggere i reason code del broker. (Word)
Sovraccarico a singolo argomento. Il filtro deve corrispondere a quello passato originariamente a Subscribe, inclusi i caratteri jolly, altrimenti il broker segnalerà un codice di motivo "No subscription existed". I messaggi in attesa già in transito potrebbero essere ancora consegnati dopo la chiamata.
MQTT.UnSubscribe('sensors/+/temperature');
function UnSubscribe(aTopics: TsgcWSTopics): Word;
| Nome | Tipo | Descrizione |
|---|---|---|
aTopics | TsgcWSTopics | Raccolta di filtri di argomento da eliminare con un singolo pacchetto UNSUBSCRIBE. |
Identificatore del pacchetto del pacchetto UNSUBSCRIBE in batch. (Word)
Overload batch utile quando un client che traccia molti filtri si disconnette, o quando una modifica di modalità forza il ricablaggio di diverse sottoscrizioni contemporaneamente. Ogni voce nella raccolta produce il proprio codice motivo nell'UNSUBACK del broker, segnalato tramite OnMQTTUnSubscribe.
oTopics := TsgcWSTopics.Create;
try
oTopics.Add('sensors/#');
oTopics.Add('alerts/#');
MQTT.UnSubscribe(oTopics);
finally
oTopics.Free;
end;