QMqtt 名称空间

包含整个 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 }

    详细描述

    类型文档编制

    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 引入或被修改。

    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 引入或被修改。

    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 引入或被修改。