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::None | 0x00000000 | 未指定任何属性。 |
QMqttServerConnectionProperties::SessionExpiryInterval | 0x00000001 | 断开连接后服务器保留会话的秒数。 |
QMqttServerConnectionProperties::MaximumReceive | 0x00000002 | 服务器可同时管理的 QoS 1 和 2 信息的最大数量。 |
QMqttServerConnectionProperties::MaximumQoS | 0x00000004 | 服务器可理解的最大 QoS 级别。 |
QMqttServerConnectionProperties::RetainAvailable | 0x00000010 | 指定是否支持保留信息。 |
QMqttServerConnectionProperties::MaximumPacketSize | 0x00000020 | 指定包括报文头和属性在内的最大数据包大小。 |
QMqttServerConnectionProperties::AssignedClientId | 0x00000040 | 指定服务器是否分配了客户端标识符。 |
QMqttServerConnectionProperties::MaximumTopicAlias | 0x00000080 | 指定主题别名的最大数量。 |
QMqttServerConnectionProperties::ReasonString | 0x00000100 | 指定一个字符串,提供有关连接状态的更多详细信息。 |
QMqttServerConnectionProperties::UserProperty | 0x00000200 | 指定其他用户属性。 |
QMqttServerConnectionProperties::WildCardSupported | 0x00000400 | 指定服务器是否支持通配符订阅。 |
QMqttServerConnectionProperties::SubscriptionIdentifierSupport | 0x00000800 | 指定服务器是否支持订阅标识符。 |
QMqttServerConnectionProperties::SharedSubscriptionSupport | 0x00001000 | 指定服务器是否支持共享订阅。 |
QMqttServerConnectionProperties::ServerKeepAlive | 0x00002000 | 指定服务器从客户端接收保持存活数据包的预期秒数。 |
QMqttServerConnectionProperties::ResponseInformation | 0x00004000 | 指定响应信息。 |
QMqttServerConnectionProperties::ServerReference | 0x00008000 | 指定客户端要连接的替代服务器地址。 |
QMqttServerConnectionProperties::AuthenticationMethod | 0x00010000 | 指定身份验证方法。 |
QMqttServerConnectionProperties::AuthenticationData | 0x00020000 | 指定身份验证数据。 |
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.