TsgcWSPClient_MQTT | MQTT Publish Subscribe

Het publiceer/abonneer-patroon (ook bekend als pub/sub) biedt een alternatief voor traditionele client-serverarchitectuur. In het client-servermodel communiceert een client rechtstreeks met een eindpunt. Het pub/sub-model ontkoppelt de client die een bericht verzendt (de uitgever) van de client of clients die de berichten ontvangen (de abonnees). De uitgevers en abonnees nemen nooit rechtstreeks contact op met elkaar. Ze zijn zelfs niet op de hoogte van elkaars bestaan. De verbinding tussen hen wordt afgehandeld door een derde component (de broker). De taak van de broker is om alle inkomende berichten te filteren en ze correct naar abonnees te distribueren.

 

Met TsgcWSPClient_MQTT kunt u berichten publiceren en abonneren op onderwerpen.

 

Onderwerp abonneren

Abonneer u op onderwerp "topic1" na een geslaagde verbinding.


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;

Bericht publiceren

Publiceer een bericht aan alle abonnees van "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.Publish('topic1', 'Hello Subscribers topic1');
end;