TsgcWSPClient_MQTT | MQTT Publish Subscribe

게시/구독 패턴(pub/sub라고도 함)은 기존 클라이언트-서버 아키텍처에 대한 대안을 제공합니다. 클라이언트-서버 모델에서 클라이언트는 엔드포인트와 직접 통신합니다. pub/sub 모델은 메시지를 보내는 클라이언트(게시자)를 메시지를 받는 클라이언트(구독자)로부터 분리합니다. 게시자와 구독자는 서로 직접 연락하지 않습니다. 실제로 그들은 서로의 존재조차 알지 못합니다. 그들 사이의 연결은 세 번째 구성 요소(브로커)에 의해 처리됩니다. 브로커의 역할은 들어오는 모든 메시지를 필터링하여 구독자에게 올바르게 배포하는 것입니다.

 

TsgcWSPClient_MQTT를 사용하면 메시지를 게시하고 Topics를 구독할 수 있습니다.

 

Subscribe 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;

Publish Message

"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;