最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

客户端如何连接到MQTT Broker,并将clean

运维笔记admin17浏览0评论

客户端如何连接到MQTT Broker,并将clean

客户端如何连接到MQTT Broker,并将clean

Clean Session支持消息的持久性。默认情况下,Clean Session is true的值。

我们可以使用请求有效负载设置Qos并保留标志值,如下所示:

docker run -it --rm --name mqtt-publisher --network \ fiware_default efrecon / mqtt-client pub -h mosquitto -m“c | 1234”\ -t“/ 4jggokgpepnvsb2uv4s40d59ov / motion001 / attrs”-q 2 -r -d

任何人都可以告诉我客户端如何将clean-session参数设置为false?我们可以用请求有效载荷设置这个标志,还是有其他方法?

回答如下:

MQTT客户端连接时设置clean会话标志。

这是在CONNECT数据包中作为connect flags的一部分完成的。

如果您使用的是mosquitto_sub,则默认使用clean会话进行订阅。可以设置-c--disable-clean-session标志以启用持久会话。

使用此标志时需要设置MQTT客户端ID,以便代理可以按客户端ID跟踪订阅。来自https://mosquitto/man/mosquitto_sub-1.html:

-c, - disable-clean-session

禁用“干净会话”标志。这意味着客户端的所有订阅将在断开连接后保持,以及后续的QoS 1和QoS 2消息。当客户端重新连接时,它将接收所有排队的消息。

如果使用此选项,则必须使用--id手动设置客户端ID

发布评论

评论列表(0)

  1. 暂无评论