首页 > 解决方案 > MQTT 版本 5 在 paho.mqtt.golang 中发布属性?

问题描述

我正在查看 MQTT v5 的差异,并注意到“标头”信息可以在带有用户属性的消息正文之外发布。paho.mqtt.golang 中是否对此提供支持?看Publish函数,只支持client.Publish(topic, qos, retain, message_bytes)。

标签: gomqttpaho

解决方案


paho.mqtt.golang仅支持 MQTT 3/3.1。如果您想要在 v5 中引入的属性,请查看 paho.golang支持 MQTT v5(和仅 v5)的完全重写。聊天示例中演示了对属性的支持:

pb := &paho.Publish{
            Topic:   *topic,
            QoS:     byte(*qos),
            Payload: []byte(message),
            Properties: &paho.PublishProperties{
                User: map[string]string{
                    "chatname": *name,
                },
            },
        }

请注意,虽然paho.golang它相当稳定,但它不提供与paho.mqtt.golang(例如持久性;有关更多信息,请参阅此问题)相同级别的功能。


推荐阅读