TsgcWSPClient_MQTT | Client MQTT Connect

Per connettersi a un server MQTT, occorre prima creare un TsgcWebSocketClient e un TsgcWSPClient_MQTT. Successivamente è necessario collegare il componente MQTT al client WebSocket.

 

Utilizzo di base

Connettere al server MQTT Mosquitto utilizzando il protocollo websocket. Iscriversi al topic: "topic1" dopo la connessione.

 


oClient := TsgcWebSocketClient.Create(nil);
oClient.Host := 'test.mosquitto.org';
oClient.Port := 8080;
oMQTT := TsgcWSPClient_MQTT.Create(nil);
oMQTT.Client := oClient;
oClient.Active := True;
 
procedure OnMQTTConnect(Connection: TsgcWSConnection; const Session: Boolean; const ReasonCode: Integer; 
  const ReasonName: string; const ConnectProperties: TsgcWSMQTTCONNACKProperties);
begin
  oMQTT.Subscribe('topic1');
end;

 

Identificatore Client

MQTT richiede un Identificatore Client per identificare la connessione del client. Il componente imposta automaticamente un valore casuale, ma è possibile impostare il proprio Identificatore Client se necessario; per farlo, gestire l'evento OnBeforeConnect e impostare il proprio valore nel parametro aClientIdentifier.

 


procedure OnMQTTBeforeConnect(Connection: TsgcWSConnection; var aCleanSession: Boolean; 
  var aClientIdentifier: string);
begin
  aClientIdentifier := 'your client id';
end;

Autenticazione

Alcuni server richiedono nome utente e password per autorizzare le connessioni MQTT. Utilizzare la proprietà Authentication per impostare il nome utente e la password prima di connettersi al server.

 


oMQTT := TsgcWSPClient_MQTT.Create(nil);
oMQTT.Authentication.Enabled := True;
oMQTT.Authentication.UserName := 'your user';
oMQTT.Authentication.Password := 'your password';