QMqttPublishProperties Class

QMqttPublishProperties 类表示发送或接收消息的配置选项。更多

Header: #include <QMqttPublishProperties>
CMake: find_package(Qt6 REQUIRED COMPONENTS Mqtt)
target_link_libraries(mytarget PRIVATE Qt6::Mqtt)
qmake: QT += mqtt

公共类型

enum PublishPropertyDetail { None, PayloadFormatIndicator, MessageExpiryInterval, TopicAlias, ResponseTopic, …, ContentType }
flags PublishPropertyDetails

公共函数

QMqttPublishProperties::PublishPropertyDetails availableProperties() const
QString contentType() const
QByteArray correlationData() const
quint32 messageExpiryInterval() const
QMqtt::PayloadFormatIndicator payloadFormatIndicator() const
QString responseTopic() const
void setContentType(const QString &type)
void setCorrelationData(const QByteArray &correlation)
void setMessageExpiryInterval(quint32 interval)
void setPayloadFormatIndicator(QMqtt::PayloadFormatIndicator indicator)
void setResponseTopic(const QString &topic)
void setSubscriptionIdentifiers(const QList<quint32> &ids)
void setTopicAlias(quint16 alias)
void setUserProperties(const QMqttUserProperties &properties)
QList<quint32> subscriptionIdentifiers() const
quint16 topicAlias() const
QMqttUserProperties userProperties() const

详细说明

调用QMqttClient::publish() 向代理发送消息时,可以包含 QMqttPublishProperties,以便为代理如何处理消息提供附加参数。

此外,通过实例化订阅接收的消息可能包含已被服务器转发或调整的发布属性。

注意: 发布属性是 MQTT 5.0 规范的一部分,在连接较低协议级别时不能使用。更多信息请参阅QMqttClient::ProtocolVersion

成员类型文档

enum QMqttPublishProperties::PublishPropertyDetail
flags QMqttPublishProperties::PublishPropertyDetails

此枚举类型指定服务器或客户端在创建消息时设置的可用属性。

常量说明
QMqttPublishProperties::None0x00000000未指定属性。
QMqttPublishProperties::PayloadFormatIndicator0x00000001信息内容类型。
QMqttPublishProperties::MessageExpiryInterval0x00000002信息的有效期。
QMqttPublishProperties::TopicAlias0x00000004该信息的主题别名。
QMqttPublishProperties::ResponseTopic0x00000008收件人应回复的主题。
QMqttPublishProperties::CorrelationData0x00000010回复信息的标识符。
QMqttPublishProperties::UserProperty0x00000020用户设置的附加属性。
QMqttPublishProperties::SubscriptionIdentifier0x00000040与出版物匹配的订阅标识符。
QMqttPublishProperties::ContentType0x00000080信息内容描述。

PublishPropertyDetails 类型是QFlags<PublishPropertyDetails> 的类型定义。它存储了 PublishPropertyDetail 值的 OR 组合。

成员函数文档

QMqttPublishProperties::PublishPropertyDetails QMqttPublishProperties::availableProperties() const

返回此实例中指定的可用属性。创建消息时,并不需要包含所有属性。该函数可作为已明确设置的属性的指示器。

QString QMqttPublishProperties::contentType() const

返回信息的内容类型。

另请参阅 setContentType()。

QByteArray QMqttPublishProperties::correlationData() const

返回相关数据。

另请参阅 setCorrelationData().

quint32 QMqttPublishProperties::messageExpiryInterval() const

返回信息过期时间间隔。该值规定了允许服务器转发信息的秒数。如果过期,服务器必须删除信息并放弃发布。

另请参阅 setMessageExpiryInterval()。

QMqtt::PayloadFormatIndicator QMqttPublishProperties::payloadFormatIndicator() const

返回有效载荷格式指示符。

另请参阅 setPayloadFormatIndicator().

QString QMqttPublishProperties::responseTopic() const

返回用户应使用的响应主题,作为请求的后续。

另请参阅 setResponseTopic()。

void QMqttPublishProperties::setContentType(const QString &type)

将邮件内容类型设为type

另请参阅 contentType() 。

void QMqttPublishProperties::setCorrelationData(const QByteArray &correlation)

将相关数据设置为correlation

另请参阅 correlationData() 。

void QMqttPublishProperties::setMessageExpiryInterval(quint32 interval)

将信息过期时间间隔设置为interval

另请参阅 messageExpiryInterval() 。

void QMqttPublishProperties::setPayloadFormatIndicator(QMqtt::PayloadFormatIndicator indicator)

将有效载荷格式指示符设置为indicator

另请参阅 payloadFormatIndicator() 。

void QMqttPublishProperties::setResponseTopic(const QString &topic)

将回复主题设置为topic

另请参阅 responseTopic() 。

void QMqttPublishProperties::setSubscriptionIdentifiers(const QList<quint32> &ids)

将订阅标识符设置为ids

另请参阅 subscriptionIdentifiers() 。

void QMqttPublishProperties::setTopicAlias(quint16 alias)

设置将信息发布到alias 的主题别名。主题别名值必须大于零,小于服务器指定的最大主题别名。

另请参阅 topicAlias() 和QMqttServerConnectionProperties::maximumTopicAlias()。

void QMqttPublishProperties::setUserProperties(const QMqttUserProperties &properties)

将信息的用户属性设置为properties

另请参阅 userProperties() 。

QList<quint32> QMqttPublishProperties::subscriptionIdentifiers() const

返回与邮件主题过滤器匹配的订阅标识符。

另请参阅 setSubscriptionIdentifiers()。

quint16 QMqttPublishProperties::topicAlias() const

返回用于发布消息的主题别名。

另请参阅 setTopicAlias()。

QMqttUserProperties QMqttPublishProperties::userProperties() const

返回信息的用户属性。

另请参阅 setUserProperties()。

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.