Command line 如何使用mosquitto命令行工具同时订阅和发布?

Command line 如何使用mosquitto命令行工具同时订阅和发布?,command-line,mqtt,mosquitto,Command Line,Mqtt,Mosquitto,我想用MQTT(3.1.1)实现一个请求-响应。 我想可以使用一些语言绑定来完成。 但是如何使用mosquitto_pub和mosquitto_子命令行实用程序来实现呢 主要的问题是,我需要先订阅,然后发布,然后等待传入的数据包。 我使用zsh(或bash)尝试了这一点,但运气不佳,正如您所看到的,有时消息到达,有时消息没有到达 $ mosquitto_sub -t topic -C 1 & mosquitto_pub -t topic -m message ; fg [1] 20321

我想用MQTT(3.1.1)实现一个请求-响应。 我想可以使用一些语言绑定来完成。 但是如何使用mosquitto_pub和mosquitto_子命令行实用程序来实现呢

主要的问题是,我需要先订阅,然后发布,然后等待传入的数据包。 我使用zsh(或bash)尝试了这一点,但运气不佳,正如您所看到的,有时消息到达,有时消息没有到达

$ mosquitto_sub -t topic -C 1 & mosquitto_pub -t topic -m message ; fg
[1] 20321
[1]  + running    mosquitto_sub -t topic -C 1
^C
$ mosquitto_sub -t topic -C 1 & mosquitto_pub -t topic -m message ; fg
[1] 20341
[1]  + running    mosquitto_sub -t topic -C 1
message

此外,它确实连接了两次,这并不理想。

简单的回答是,你没有

如果你想做这类事情,使用一个合适的客户端库,比如python

Mosquito_rr是MQTT 5/3.1.1版客户端,可用于发布请求消息并等待响应。当使用默认的MQTT v5时,mosquitto_rr将使用请求-响应特性

(来自曼莫斯基托)