TsgcWSPClient_MQTT | Connexion client MQTT

Pour se connecter à un serveur MQTT, vous devez d'abord créer un TsgcWebSocketClient et un TsgcWSPClient_MQTT. Vous devez ensuite attacher le composant MQTT au client WebSocket.

 

Utilisation de base

Se connecter au serveur MQTT Mosquitto via le protocole websocket. S'abonner au topic « topic1 » après la connexion.

 


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;

 

Identifiant client

MQTT nécessite un Identifiant client pour identifier la connexion du client. Le composant définit une valeur aléatoire automatiquement, mais vous pouvez définir votre propre Identifiant client si nécessaire ; pour ce faire, gérez l'événement OnBeforeConnect et définissez votre valeur sur le paramètre aClientIdentifier.

 


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

Authentification

Certains serveurs nécessitent un nom d'utilisateur et un mot de passe pour autoriser les connexions MQTT. Utilisez la propriété Authentication pour définir les valeurs de nom d'utilisateur et de mot de passe avant de vous connecter au serveur.

 


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