TsgcWSPClient_MQTT | MQTT Publish Subscribe

Das Publish/Subscribe-Muster (auch bekannt als Pub/Sub) bietet eine Alternative zur traditionellen Client-Server-Architektur. Im Client-Server-Modell kommuniziert ein Client direkt mit einem Endpunkt. Das Pub/Sub-Modell entkoppelt den Client, der eine Nachricht sendet (den Publisher), von dem Client oder den Clients, die die Nachrichten empfangen (den Subscribern). Die Publisher und Subscriber kontaktieren sich niemals direkt. Tatsächlich sind sie sich nicht einmal bewusst, dass der andere existiert. Die Verbindung zwischen ihnen wird von einer dritten Komponente (dem Broker) verwaltet. Die Aufgabe des Brokers ist es, alle eingehenden Nachrichten zu filtern und sie korrekt an die Subscriber zu verteilen.

 

Mit TsgcWSPClient_MQTT können Sie Nachrichten veröffentlichen und Topics abonnieren.

 

Topic abonnieren

Abonnieren Sie nach einer erfolgreichen Verbindung 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;

Nachricht veröffentlichen

Eine Nachricht an alle Abonnenten von "topic1" veröffentlichen

 


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.Publish('topic1', 'Hello Subscribers topic1');
end;