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