包含整个 Qt MQTT 模块所用的各种标识符。 更多...
| 头: | #include <QMqtt> | 
| qmake: | QT += mqtt | 
| Since: | Qt 5.12 | 
该名称空间在 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 } | 
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 引入或被修改。
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 引入或被修改。
此枚举类型指定可用错误代码。
| 常量 | 值 | 描述 | 
|---|---|---|
								
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 引入或被修改。