TsgcWSPClient_MQTT | MQTT 发布订阅

发布/订阅模式(也称为 pub/sub)提供了传统客户端-服务器架构的替代方案。在客户端-服务器模型中,客户端直接与端点通信。pub/sub 模型将发送消息的客户端(发布者)与接收消息的客户端(订阅者)解耦。发布者和订阅者从不直接联系彼此,实际上它们甚至不知道对方的存在。它们之间的连接由第三方组件(代理)处理。代理的任务是过滤所有传入消息并将其正确分发给订阅者。

 

使用 TsgcWSPClient_MQTT,您可以发布消息订阅主题

 

订阅主题

在连接成功后订阅主题"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;

发布消息

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