本页内容

QMqttServerConnectionProperties Class

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

头文件: #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<ServerPropertyDetail> 的 typedef 定义。它存储 ServerPropertyDetail 值的按“或”运算组合。

成员函数文档

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 级别限制为自身可支持的值;此时,服务器将以支持级别与限制级别的最高值发布消息。

默认值为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 。

© 2026 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.