TsgcWSPClient_MQTT | Client MQTT Connect

Um sich mit einem MQTT-Server zu verbinden, müssen Sie zuerst einen TsgcWebSocketClient und einen TsgcWSPClient_MQTT erstellen. Dann müssen Sie die MQTT-Komponente an den WebSocket-Client anhängen.

 

Grundlegende Verwendung

Verbinden Sie sich mit dem Mosquitto-MQTT-Server über das WebSocket-Protokoll. Abonnieren Sie nach dem Verbinden das Topic: "topic1".

 


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;

 

Client-Bezeichner

MQTT erfordert einen Client Identifier, um die Client-Verbindung zu identifizieren. Die Komponente legt automatisch einen Zufallswert fest, aber Sie können bei Bedarf Ihren eigenen Client Identifier festlegen; behandeln Sie dazu einfach das Ereignis OnBeforeConnect und legen Sie Ihren Wert im Parameter aClientIdentifier fest.

 


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

Authentifizierung

Einige Server erfordern einen Benutzer und ein Passwort, um MQTT-Verbindungen zu autorisieren. Verwenden Sie die Eigenschaft Authentication, um den Wert für Benutzername und Passwort vor dem Verbinden mit dem Server festzulegen.

 


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