- 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
服务器已接受消息,但没有订阅者接收此消息。代理可能发送此错误代码而不是Success。
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
订阅QoSLevel0
X
订阅QoSLevel1
X
订阅QoSLevel2
X
无匹配的订阅者
X
未指定错误
X
X
X
分组的报文格式错误
X
协议错误
X
实现特定错误
X
X
X
不支持的协议版本
X
无效的客户端ID
X
无效的用户名或密码
X
未经授权
X
X
X
服务器不可用
X
服务器忙碌
X
客户端被封禁
X
无效的认证方法
X
无效的主题过滤器
X
无效的主题名
X
X
正在使用的消息ID
X
X
找不到消息ID
X
分组过大
X
配额超出
X
X
X
无效的有效负载格式
X
X
不支持保留
X
QoS不受支持
X
使用另一个服务器
X
服务器已移动
X
不支持共享订阅
X
连接速率超过限制
X
不支持订阅ID
X
不支持通配符订阅
X