TsgcWSPClient_MQTT › 事件 › OnMQTTBeforeConnect
在 CONNECT 包发送之前触发;允许应用程序覆盖 CleanSession 和 ClientIdentifier。
property OnMQTTBeforeConnect: TsgcWSMQTTBeforeConnectEvent;
// TsgcWSMQTTBeforeConnectEvent = procedure(Connection: TsgcWSConnection; var aCleanSession: Boolean; var aClientIdentifier: String) of object
—
在 CONNECT 数据包写入网络之前的最后机会调整。组件在 WebSocket/TCP 传输建立后、序列化 CONNECT 之前触发此事件,因此处理程序可以覆盖:
任何其他连接状态(凭据、LastWillTestament、ConnectProperties)应在 Activate 之前直接在组件上配置,而不应在此处理程序内部设置。
procedure TForm1.MQTTBeforeConnect(Connection: TsgcWSConnection;
var aCleanSession: Boolean; var aClientIdentifier: String);
begin
// resume the stored session if the broker still has it
aCleanSession := False;
aClientIdentifier := 'sensor-gateway-01';
end;