QMqttServerConnectionProperties Class

QMqttServerConnectionProperties 类表示QMqttClient 所连接服务器的配置选项。更多

Header: #include <QMqttServerConnectionProperties>
CMake: find_package(Qt6 REQUIRED COMPONENTS Mqtt)
target_link_libraries(mytarget PRIVATE Qt6::Mqtt)
qmake: QT += mqtt
继承: QMqttConnectionProperties

公共类型

enum ServerPropertyDetail { None, SessionExpiryInterval, MaximumReceive, MaximumQoS, RetainAvailable, …, AuthenticationData }
flags ServerPropertyDetails

公共函数

QMqttServerConnectionProperties::ServerPropertyDetails availableProperties() const
bool clientIdAssigned() const
bool isValid() const
quint8 maximumQoS() const
QString reason() const
QMqtt::ReasonCode reasonCode() const
QString responseInformation() const
bool retainAvailable() const
quint16 serverKeepAlive() const
QString serverReference() const
bool sharedSubscriptionSupported() const
bool subscriptionIdentifierSupported() const
bool wildcardSupported() const

详细说明

连接建立后,服务器可能会发送有关连接属性的其他详细信息。使用availableProperties() 可识别服务器设置的属性。如果服务器未设置属性,则假定为默认值,可通过调用此实例的访问函数获取。

注意: 连接属性是 MQTT 5.0 规范的一部分,不能在使用较低协议级别连接时使用。更多信息请参阅QMqttClient::ProtocolVersion

成员类型文档

enum QMqttServerConnectionProperties::ServerPropertyDetail
flags QMqttServerConnectionProperties::ServerPropertyDetails

此枚举类型指定服务器或客户端在建立连接后设置的可用属性。

常量说明
QMqttServerConnectionProperties::None0x00000000未指定任何属性。
QMqttServerConnectionProperties::SessionExpiryInterval0x00000001断开连接后服务器保留会话的秒数。
QMqttServerConnectionProperties::MaximumReceive0x00000002服务器可同时管理的 QoS 1 和 2 信息的最大数量。
QMqttServerConnectionProperties::MaximumQoS0x00000004服务器可理解的最大 QoS 级别。
QMqttServerConnectionProperties::RetainAvailable0x00000010指定是否支持保留信息。
QMqttServerConnectionProperties::MaximumPacketSize0x00000020指定包括报文头和属性在内的最大数据包大小。
QMqttServerConnectionProperties::AssignedClientId0x00000040指定服务器是否分配了客户端标识符。
QMqttServerConnectionProperties::MaximumTopicAlias0x00000080指定主题别名的最大数量。
QMqttServerConnectionProperties::ReasonString0x00000100指定一个字符串,提供有关连接状态的更多详细信息。
QMqttServerConnectionProperties::UserProperty0x00000200指定其他用户属性。
QMqttServerConnectionProperties::WildCardSupported0x00000400指定服务器是否支持通配符订阅。
QMqttServerConnectionProperties::SubscriptionIdentifierSupport0x00000800指定服务器是否支持订阅标识符。
QMqttServerConnectionProperties::SharedSubscriptionSupport0x00001000指定服务器是否支持共享订阅。
QMqttServerConnectionProperties::ServerKeepAlive0x00002000指定服务器从客户端接收保持存活数据包的预期秒数。
QMqttServerConnectionProperties::ResponseInformation0x00004000指定响应信息。
QMqttServerConnectionProperties::ServerReference0x00008000指定客户端要连接的替代服务器地址。
QMqttServerConnectionProperties::AuthenticationMethod0x00010000指定身份验证方法。
QMqttServerConnectionProperties::AuthenticationData0x00020000指定身份验证数据。

ServerPropertyDetails 类型是QFlags<ServerPropertyDetails> 的类型定义。它存储 ServerPropertyDetail 值的 OR 组合。

成员函数文档

QMqttServerConnectionProperties::ServerPropertyDetails QMqttServerConnectionProperties::availableProperties() const

返回服务器指定的可用属性。

bool QMqttServerConnectionProperties::clientIdAssigned() const

如果服务器为客户端分配了新的客户端标识符,则返回true

另请参阅 QMqttClient::clientId().

bool QMqttServerConnectionProperties::isValid() const

如果服务器在连接确认中提供了属性,则返回true 。如果没有提供属性,则返回false

quint8 QMqttServerConnectionProperties::maximumQoS() const

返回服务器支持的发布报文的最大 QoS 级别。发布 QoS 级别超过服务器报告的最大 QoS 级别的报文会违反协议。

如果客户端不需要支持 QoS 1 或 QoS 2,则应将任何订阅中的最大 QoS 级别限制为它能支持的值;然后,服务器将以支持和限制的最大 QoS 级别发布信息。

默认值是2

另请参阅 QMqttClient::publish() 和QMqttClient::subscribe()。

QString QMqttServerConnectionProperties::reason() const

返回与此响应相关的原因字符串。

QMqtt::ReasonCode QMqttServerConnectionProperties::reasonCode() const

返回与此响应相关的原因代码。

QString QMqttServerConnectionProperties::responseInformation() const

返回响应信息。

bool QMqttServerConnectionProperties::retainAvailable() const

如果服务器接受保留信息,则返回true 。默认值为true

quint16 QMqttServerConnectionProperties::serverKeepAlive() const

返回服务器请求保持活力的秒数。这将覆盖客户端设置的保持存活秒数。

另请参阅 QMqttClient::setKeepAlive().

QString QMqttServerConnectionProperties::serverReference() const

返回一个服务器地址,客户端可使用该地址进行连接。通常情况下,它会与原因代码0x9c (使用其他服务器)或0x9c (服务器已转移)一起使用。

bool QMqttServerConnectionProperties::sharedSubscriptionSupported() const

如果服务器接受共享订阅,则返回true 。默认值为true

bool QMqttServerConnectionProperties::subscriptionIdentifierSupported() const

如果服务器接受订阅标识符,则返回true 。订阅标识符可在创建新订阅时传递给服务器。

默认值是true

另请参阅 QMqttSubscriptionProperties::setSubscriptionIdentifier()。

bool QMqttServerConnectionProperties::wildcardSupported() const

如果服务器接受包括通配符在内的订阅,则返回true 。默认值为true

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.