【MQTT】mosquitto订阅发布

1. Ubutun 端安装

sudo apt-get install mosquitto  #安装后才能运行MQTT broker
sudo apt-get install libmosquitto-dev  #安装开发包才能在程序中调用
sudo apt-get install libmosquittopp-dev #C++版封装的libmosquitto

2. 相关命令

service mosquitto status	# 查看状态
service mosquitto start		# 启动
service mosquitto stop		# 停止
service mosquitto restart	# 重启

3. 测试

mosquitto -v				# 使用默认参数开启MQTT broker
mosquitto_sub -t test -v	# 订阅话题 test
mosquitto_pub -h localhost -t test -m "Hello MQTT"		# 发布话题

mosquitto -v				# 使用默认参数开启MQTT broker
mosquitto_sub -h localhost -t "mqtt" -v		# 订阅话题 mqtt
mosquitto_pub -h localhost -t "mqtt" -m "Hello MQTT"		# 发布话题

-h 表示服务器地址参数,localhost 表示服务器为本机,也可以直接输入本地 IP;
-t 表示话题(Topic),“mqtt” 为订阅 / 发布的话题名;
-v 表示代码调试模式,可以输出更多的信息;
-m 表示发布的 Message 内容,此时发送的是字符串 “Hello MQTT"。

4. 编写 C / C++ 程序

关于使用gcc时链接到我们mosquitto库的方法参考:How to compile using libmosquitto

C 语言实现:C语言实现mosquitto发布、订阅消息

5. Bug

5.1 mosquitto -vBug解决方法

5.1.1 Error: Address already in use

bug如下:

Error: Address already in use

解决方法参考

ps -ef | grep mosquitto # 查看进程号(第一列数字)
kill xxx # 杀死进程

5.1.2 Exec format error

bug如下:

bash: /usr/local/sbin/mosquitto: cannot execute binary file: Exec format error

解决方法:

which mosquitto	# 查看路径,如果不是/usr/sbin,则需要按如下方法解决
gedit .bashrc

添加这行:

export PATH=/usr/sbin:$PATH

然后在终端里 source 一下:

source .bashrc
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宇宙爆肝锦标赛冠军

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值