包含整个 Qt MQTT 模块所用的各种标识符。 更多...
头: | #include <QMqtt> |
qmake: | QT += mqtt |
Since: | Qt 5.12 |
enum class | MessageStatus { Unknown, Published, Acknowledged, Received, Released, Completed } |
enum class | PayloadFormatIndicator { Unspecified, UTF8Encoded } |
enum class | ReasonCode { Success, SubscriptionQoSLevel0, SubscriptionQoSLevel1, SubscriptionQoSLevel2, NoMatchingSubscriber, …, WildCardSubscriptionsNotSupported } |
[since 5.12]
enum class QMqtt::
MessageStatus
This enum type specifies the available states of a message. Depending on the QoS and role of the client, different message statuses are expected.
常量 | 值 | 描述 |
---|---|---|
QMqtt::MessageStatus::Unknown
|
0
|
消息状态未知。 |
QMqtt::MessageStatus::Published
|
1
|
The client received a message for one of its subscriptions. This applies to QoS levels 1 and 2. |
QMqtt::MessageStatus::Acknowledged
|
2
|
A message has been acknowledged. This applies to QoS 1 and states that the message handling has been finished from the client side. |
QMqtt::MessageStatus::Received
|
3
|
A message has been received. This applies to QoS 2. |
QMqtt::MessageStatus::Released
|
4
|
A message has been released. This applies to QoS 2. For a publisher the message handling has been finished. |
QMqtt::MessageStatus::Completed
|
5
|
A message has been completed. This applies to QoS 2 and states that the message handling has been finished from the client side. |
该枚举在 Qt 5.12 引入或被修改。
[since 5.12]
enum class QMqtt::
PayloadFormatIndicator
The payload format provides information on the content of a message. This can help other clients to handle the message faster.
常量 | 值 | 描述 |
---|---|---|
QMqtt::PayloadFormatIndicator::Unspecified
|
0
|
未指定格式。 |
QMqtt::PayloadFormatIndicator::UTF8Encoded
|
1
|
The payload of the message is formatted as UTF-8 Encoded Character Data. |
该枚举在 Qt 5.12 引入或被修改。
[since 5.12]
enum class QMqtt::
ReasonCode
此枚举类型指定可用错误代码。
常量 | 值 | 描述 |
---|---|---|
QMqtt::ReasonCode::Success
|
0
|
The specified action has succeeded. |
QMqtt::ReasonCode::SubscriptionQoSLevel0
|
0
|
A subscription with QoS level 0 has been created. |
QMqtt::ReasonCode::SubscriptionQoSLevel1
|
0x01
|
A subscription with QoS level 1 has been created. |
QMqtt::ReasonCode::SubscriptionQoSLevel2
|
0x02
|
A subscription with QoS level 2 has been created. |
QMqtt::ReasonCode::NoMatchingSubscriber
|
0x10
|
The message has been accepted by the server, but there are no subscribers to receive this message. A broker may send this reason code instead of Success. |
QMqtt::ReasonCode::NoSubscriptionExisted (since Qt 5.15)
|
0x11
|
No matching Topic Filter is being used by the Client. |
QMqtt::ReasonCode::ContinueAuthentication (since Qt 5.15)
|
0x18
|
Continue the authentication with another step. |
QMqtt::ReasonCode::ReAuthenticate (since Qt 5.15)
|
0x19
|
Initiate a re-authentication. |
QMqtt::ReasonCode::UnspecifiedError
|
0x80
|
出现未指定错误。 |
QMqtt::ReasonCode::MalformedPacket
|
0x81
|
The packet sent to the server is invalid. |
QMqtt::ReasonCode::ProtocolError
|
0x82
|
A protocol error has occurred. In most cases, this will cause the server to disconnect the client. |
QMqtt::ReasonCode::ImplementationSpecificError
|
0x83
|
The packet is valid, but the recipient rejects it. |
QMqtt::ReasonCode::UnsupportedProtocolVersion
|
0x84
|
The requested protocol version is not supported by the server. |
QMqtt::ReasonCode::InvalidClientId
|
0x85
|
The client ID is invalid. |
QMqtt::ReasonCode::InvalidUserNameOrPassword
|
0x86
|
The username or password specified is invalid. |
QMqtt::ReasonCode::NotAuthorized
|
0x87
|
The client is not authorized for the specified action. |
QMqtt::ReasonCode::ServerNotAvailable
|
0x88
|
The server to connect to is not available. |
QMqtt::ReasonCode::ServerBusy
|
0x89
|
The server to connect to is not available. The client is asked to try at a later time. |
QMqtt::ReasonCode::ClientBanned
|
0x8A
|
The client has been banned from the server. |
QMqtt::ReasonCode::InvalidAuthenticationMethod
|
0x8C
|
The authentication method specified is invalid. |
QMqtt::ReasonCode::InvalidTopicFilter
|
0x8F
|
The topic filter specified is invalid. |
QMqtt::ReasonCode::InvalidTopicName
|
0x90
|
The topic name specified is invalid. |
QMqtt::ReasonCode::MessageIdInUse
|
0x91
|
The message ID used in the previous packet is already in use. |
QMqtt::ReasonCode::MessageIdNotFound
|
0x92
|
The message ID used in the previous packet has not been found. |
QMqtt::ReasonCode::PacketTooLarge
|
0x95
|
The packet received is too large. See also QMqttServerConnectionProperties::maximumPacketSize (). |
QMqtt::ReasonCode::QuotaExceeded
|
0x97
|
An administratively imposed limit has been exceeded. |
QMqtt::ReasonCode::InvalidPayloadFormat
|
0x99
|
The payload format is invalid. See also QMqttPublishProperties::payloadFormatIndicator (). |
QMqtt::ReasonCode::RetainNotSupported
|
0x9A
|
The server does not support retained messages. See also QMqttServerConnectionProperties::retainAvailable (). |
QMqtt::ReasonCode::QoSNotSupported
|
0x9B
|
The QoS level requested is not supported. See also QMqttServerConnectionProperties::maximumQoS (). |
QMqtt::ReasonCode::UseAnotherServer
|
0x9C
|
The server the client tries to connect to is not available. See also QMqttServerConnectionProperties::serverReference (). |
QMqtt::ReasonCode::ServerMoved
|
0x9D
|
The server the client tries to connect to has moved to a new address. See also QMqttServerConnectionProperties::serverReference (). |
QMqtt::ReasonCode::SharedSubscriptionsNotSupported
|
0x9E
|
Shared subscriptions are not supported. See also QMqttServerConnectionProperties::sharedSubscriptionSupported (). |
QMqtt::ReasonCode::ExceededConnectionRate
|
0x9F
|
The connection rate limit has been exceeded. |
QMqtt::ReasonCode::SubscriptionIdsNotSupported
|
0xA1
|
Subscription IDs are not supported. See also QMqttServerConnectionProperties::subscriptionIdentifierSupported (). |
QMqtt::ReasonCode::WildCardSubscriptionsNotSupported
|
0xA2
|
Subscriptions using wildcards are not supported by the server. See also QMqttServerConnectionProperties::wildcardSupported (). |
Not all values are available in every use case. Especially, some servers will reject a reason code not suited for a specific command. See below table to highlight expected reason codes for specific actions.
原因代码 | 连接特性 | 订阅特性 | 消息特性 |
---|---|---|---|
Success | X | X | X |
SubscriptionQoSLevel0 | X | ||
SubscriptionQoSLevel1 | X | ||
SubscriptionQoSLevel2 | X | ||
NoMatchingSubscriber | X | ||
UnspecifiedError | X | X | X |
MalformedPacket | X | ||
ProtocolError | X | ||
ImplementationSpecificError | X | X | X |
UnsupportedProtocolVersion | X | ||
InvalidClientId | X | ||
InvalidUserNameOrPassword | X | ||
NotAuthorized | X | X | X |
ServerNotAvailable | X | ||
ServerBusy | X | ||
ClientBanned | X | ||
InvalidAuthenticationMethod | X | ||
InvalidTopicFilter | X | ||
InvalidTopicName | X | X | |
MessageIdInUse | X | X | |
MessageIdNotFound | X | ||
PacketTooLarge | X | ||
QuotaExceeded | X | X | X |
InvalidPayloadFormat | X | X | |
RetainNotSupported | X | ||
QoSNotSupported | X | ||
UseAnotherServer | X | ||
ServerMoved | X | ||
SharedSubscriptionsNotSupported | X | ||
ExceededConnectionRate | X | ||
SubscriptionIdsNotSupported | X | ||
WildCardSubscriptionsNotSupported | X |
该枚举在 Qt 5.12 引入或被修改。