本页内容

QMqttPublishProperties Class

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

头文件: #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<PublishPropertyDetail> 的 typedef。它存储了 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()。

© 2026 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.