TsgcWSPClient_MQTT事件 › OnMQTTDisconnect

OnMQTTDisconnect 事件

当 broker 发送 DISCONNECT 或会话关闭时触发;报告 ReasonCode 和 MQTT 5 DisconnectProperties。

语法

property OnMQTTDisconnect: TsgcWSMQTTDisconnectEvent;
// TsgcWSMQTTDisconnectEvent = procedure(Connection: TsgcWSConnection; ReasonCode: Integer; const ReasonName: String; DisconnectProperties: TsgcWSMQTTDISCONNECTProperties) of object

默认值

备注

表示 MQTT 会话正在终止。MQTT 3.1.1 没有服务器发起的 DISCONNECT 报文,因此在这种情况下该事件反映的是本地检测到的关闭。MQTT 5.0 引入了代理可发送的 DISCONNECT 报文,以说明连接关闭的原因。参数:

使用此事件记录原因、更新 UI 状态,若 ServerReference 已设置,则考虑重新连接到建议的代理。

示例

procedure TForm1.MQTTDisconnect(Connection: TsgcWSConnection;
  ReasonCode: Integer; const ReasonName: String;
  DisconnectProperties: TsgcWSMQTTDISCONNECTProperties);
begin
  Memo1.Lines.Add(Format('Disconnect %d (%s)',
    [ReasonCode, ReasonName]));

  if DisconnectProperties.ServerReference <> '' then
    Memo1.Lines.Add('Broker suggests: ' +
      DisconnectProperties.ServerReference);
end;

返回事件