PySide6.QtMqtt.QMqtt

class QMqtt

包含在整个Qt MQTT模块中使用的各种标识符。更多

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

class PayloadFormatIndicator

有效载荷格式提供了关于消息内容的信息。这可以帮助其他客户端更快地处理消息。

常量

描述

QMqtt.PayloadFormatIndicator.Unspecified

未指定格式。

QMqtt.PayloadFormatIndicator.UTF8Encoded

消息的有效载荷格式化为UTF-8编码的字符数据。

class MessageStatus

此枚举类型指定了消息的可用状态。根据客户端的QoS和角色,预期会有不同的消息状态。

常量

描述

QMqtt.MessageStatus.Unknown

消息状态未知。

QMqtt.MessageStatus.Published

客户端收到了其订阅的消息。这适用于QoS级别1和2。

QMqtt.MessageStatus.Acknowledged

消息已被确认。这适用于QoS 1,表示客户端已完成消息处理。

QMqtt.MessageStatus.Received

已收到消息。这适用于QoS 2。

QMqtt.MessageStatus.Released

消息已被释放。这适用于QoS 2。对于发布者,消息处理已完成。

QMqtt.MessageStatus.Completed

消息已完成。这适用于QoS 2,表示客户端已完成消息处理。

class ReasonCode

此枚举类型指定了可用的错误代码。

常量

描述

QMqtt.ReasonCode.Success

指定的操作已成功。

QMqtt.ReasonCode.SubscriptionQoSLevel0

已创建了一个QoS级别为0的订阅。

QMqtt.ReasonCode.SubscriptionQoSLevel1

已创建具有QoS级别1的订阅。

QMqtt.ReasonCode.SubscriptionQoSLevel2

已创建具有QoS级别2的订阅。

QMqtt.ReasonCode.NoMatchingSubscriber

消息已被服务器接受,但没有订阅者接收此消息。代理可能会发送此原因代码而不是成功。

QMqtt.ReasonCode.NoSubscriptionExisted

客户端未使用匹配的主题过滤器。

QMqtt.ReasonCode.ContinueAuthentication

继续认证的下一步。

QMqtt.ReasonCode.ReAuthenticate

发起重新认证。

QMqtt.ReasonCode.UnspecifiedError

发生了一个未指定的错误。

QMqtt.ReasonCode.MalformedPacket

发送到服务器的数据包无效。

QMqtt.ReasonCode.ProtocolError

发生了协议错误。在大多数情况下,这将导致服务器断开客户端的连接。

QMqtt.ReasonCode.ImplementationSpecificError

数据包有效,但接收方拒绝它。

QMqtt.ReasonCode.UnsupportedProtocolVersion

服务器不支持请求的协议版本。

QMqtt.ReasonCode.InvalidClientId

客户端ID无效。

QMqtt.ReasonCode.InvalidUserNameOrPassword

指定的用户名或密码无效。

QMqtt.ReasonCode.NotAuthorized

客户端未被授权执行指定操作。

QMqtt.ReasonCode.ServerNotAvailable

要连接的服务器不可用。

QMqtt.ReasonCode.ServerBusy

要连接的服务器不可用。客户端被要求稍后再试。

QMqtt.ReasonCode.ClientBanned

客户端已被服务器禁止。

QMqtt.ReasonCode.InvalidAuthenticationMethod

指定的认证方法无效。

QMqtt.ReasonCode.InvalidTopicFilter

指定的主题过滤器无效。

QMqtt.ReasonCode.InvalidTopicName

指定的主题名称无效。

QMqtt.ReasonCode.MessageIdInUse

前一个数据包中使用的消息ID已经被使用。

QMqtt.ReasonCode.MessageIdNotFound

未找到先前数据包中使用的消息ID。

QMqtt.ReasonCode.PacketTooLarge

接收到的数据包太大。另请参阅 maximumPacketSize()

QMqtt.ReasonCode.QuotaExceeded

已超过管理上设定的限制。

QMqtt.ReasonCode.InvalidPayloadFormat

有效载荷格式无效。另请参阅 payloadFormatIndicator()

QMqtt.ReasonCode.RetainNotSupported

服务器不支持保留消息。另请参阅 retainAvailable()

QMqtt.ReasonCode.QoSNotSupported

请求的QoS级别不受支持。另请参阅maximumQoS()

QMqtt.ReasonCode.UseAnotherServer

客户端尝试连接的服务器不可用。另请参阅 serverReference()

QMqtt.ReasonCode.ServerMoved

客户端尝试连接的服务器已移动到新地址。另请参阅 serverReference()

QMqtt.ReasonCode.SharedSubscriptionsNotSupported

不支持共享订阅。另请参阅 sharedSubscriptionSupported()

QMqtt.ReasonCode.ExceededConnectionRate

连接速率限制已超过。

QMqtt.ReasonCode.SubscriptionIdsNotSupported

不支持订阅ID。另请参阅 subscriptionIdentifierSupported()

QMqtt.ReasonCode.WildCardSubscriptionsNotSupported

服务器不支持使用通配符的订阅。另请参阅 wildcardSupported()

并非所有值在每个用例中都可用。特别是,某些服务器会拒绝不适合特定命令的原因代码。请参阅下表以突出显示特定操作的预期原因代码。

原因代码

连接属性

订阅属性

消息属性

成功

X

X

X

SubscriptionQoSLevel0

X

订阅服务质量级别1

X

SubscriptionQoSLevel2

X

无匹配订阅者

X

未指定错误

X

X

X

格式错误的数据包

X

协议错误

X

实现特定错误

X

X

X

不支持的协议版本

X

无效的客户端ID

X

无效的用户名或密码

X

未授权

X

X

X

服务器不可用

X

服务器繁忙

X

客户端被禁止

X

无效的认证方法

X

无效的主题过滤器

X

无效的主题名称

X

X

MessageIdInUse

X

X

消息ID未找到

X

数据包过大

X

配额超出

X

X

X

无效的负载格式

X

X

RetainNotSupported

X

QoSNotSupported

X

使用另一个服务器

X

服务器已移动

X

不支持共享订阅

X

超出连接速率

X

SubscriptionIdsNotSupported

X

不支持通配符订阅

X