TsgcWSPClient_MQTT | MQTT Publish Subscribe

Il pattern publish/subscribe (noto anche come pub/sub) fornisce un'alternativa all'architettura client-server tradizionale. Nel modello client-server, un client comunica direttamente con un endpoint. Il modello pub/sub disaccoppia il client che invia un messaggio (il publisher) dal client o dai client che ricevono i messaggi (i subscriber). I publisher e i subscriber non si contattano mai direttamente. In realtà, non sono nemmeno a conoscenza dell'esistenza dell'altro. La connessione tra di loro è gestita da un terzo componente (il broker). Il compito del broker è filtrare tutti i messaggi in entrata e distribuirli correttamente ai subscriber.

 

Con TsgcWSPClient_MQTT è possibile pubblicare messaggi e sottoscrivere Topic.

 

Iscriviti al Topic

Iscriversi al Topic "topic1" dopo una connessione riuscita.


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;

Pubblica messaggio

Pubblica un messaggio a tutti i subscriber di "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;