TsgcWSPClient_MQTT | Conexión del cliente MQTT

Para conectarse a un servidor MQTT, primero debe crear un TsgcWebSocketClient y un TsgcWSPClient_MQTT. A continuación, debe asociar el componente MQTT al cliente WebSocket.

 

Uso básico

Conectar al servidor MQTT Mosquitto usando el protocolo websocket. Suscribirse al topic: «topic1» después de conectar.

 


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;

 

Identificador de cliente

MQTT requiere un identificador de cliente para identificar la conexión del cliente. El componente establece un valor aleatorio automáticamente, pero puede definir su propio identificador de cliente si es necesario; para ello, simplemente gestione el evento OnBeforeConnect y establezca su valor en el parámetro aClientIdentifier.

 


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

Autenticación

Algunos servidores requieren usuario y contraseña para autorizar conexiones MQTT. Utilice la propiedad Authentication para establecer el valor de nombre de usuario y contraseña antes de conectarse al servidor.

 


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