TsgcWSPClient_MQTT方法 › Disconnect

Disconnect 方法

向服务器发送 MQTT DISCONNECT 数据包以干净地结束会话。

重载

重载 1

语法

procedure Disconnect;

备注

使用原因码 0(正常断开)且不附加额外属性,执行标准 MQTT 断开操作。此重载适用于应用程序只需注销并抑制 Last Will 消息投递的场景。底层 WebSocket 传输不会在此处关闭;请调用父客户端的 Disconnect 来拆除套接字。

示例

MQTT.Disconnect;

重载 2

语法

procedure Disconnect(aReasonCode: Integer; aDisconnectProperties: TsgcWSMQTTDisconnect_Properties = nil);

参数

名称类型描述
aReasonCodeInteger向代理报告的 MQTT 5.0 原因码(例如 0 = 正常,4 = 带遗嘱消息断连,129 = 格式错误的数据包,139 = 服务器正在关闭)。
aDisconnectPropertiesTsgcWSMQTTDisconnect_Properties可选的 MQTT 5.0 属性,如 Session Expiry Interval、Reason String、Server Reference 或 User Properties。不需要属性时传 nil。

备注

MQTT 5.0 重载,允许客户端说明离开的原因。将 aReasonCode 设为 4 会要求 broker 发布已配置的遗嘱消息,任何非零代码将导致 broker 记录异常关闭。当会话协商为 MQTT 3.1.1 时忽略此参数。

示例

oProps := TsgcWSMQTTDisconnect_Properties.Create;
try
  oProps.ReasonString := 'client shutting down';
  MQTT.Disconnect(0, oProps);
finally
  oProps.Free;
end;

返回方法