我想使用MQTT协议使用mosquito库。
首先,我想做一些测试安装蚊子到-客户端
sudo apt-get install mosquitto-clients
本方案提供了两种“方法”:
- 蚊子酒吧
- 蚊子
按照this说明,我正在尝试提交新主题:
mosquitto_sub -d -t newtopic/test
使用默认主机/端口[localhost/1883]。
本人获得:
Error: Connection refused
这是一个错误,谁能帮助我?
可能是防火墙问题吗?在这种情况下,我如何检查这是否是问题所在?
我用的是linux ubuntu(3.8.0-42-generic #62~ precise 1-Ubuntu)
nb相同的行为使用libmosquito编写自定义程序。
8条答案
按热度按时间rks48beu1#
只需编辑Mosquitto配置文件(
/etc/mosquitto/conf.d/mosquitto.conf
)添加以下行...allow_anonymous true
listener 1883 0.0.0.0
...并重新启动Mosquitto(作为服务或不作为服务)。
$ sudo service mosquitto restart
或
$ mosquitto --verbose --config-file /etc/mosquitto/conf.d/mosquitto.conf
如here所述,自v1.7(2022)以来,
allow_anonymous
默认为false
。检查日志消息(/var/log/mosquitto/mosquitto.log
)也很有用。最后,使用
--host
(-h
)参数和主机IP地址运行Mosquitto subscriber/publisher(从ifconfig
或ip -color addr
命令获取)。w7t8yxp52#
mosquito_pub/sub的默认主机:端口组合是localhost:1883。如果您的本地计算机上没有运行代理,那么它当然无法连接。
解决方案是在本地计算机上运行代理,或者告诉实用程序在哪里连接。例如:
dfddblmv3#
其他答案都不适用于我。在我的情况下,我已经从mosquito 1.X升级到mosquito 2.0,这需要将新配置添加到
mosquitto.conf
:用于本地主机以外的客户端连接(即通过Docker)
dldeef674#
对于未来的谷歌人:
您可以使用上面提到的公共主机,但要启动 * 本地 * mosquito代理,首先确保您安装了
mosquitto
和mosquitto_sub
。然后您可以通过运行以下命令启动mosquito代理:bjg7j2ky5#
我遇到了同样的问题,对我来说,它是在升级
mosquitto
的mqtt v5支持:但是,升级后的代理不再支持匿名连接:
这可能是一个更好的默认值,但在实验时不太友好。要配置代理允许匿名连接:
然后,嘿Presto🎩🐇:
uplii1fm6#
发生这种情况是因为您的系统上只安装了mosquito客户端,而没有安装mosquito。请执行以下命令安装MQTT Broker。
来源:connection attempt failed bytesofgigabytes.com
nx7onnlm7#
确保您的蚊子服务安装并正确运行。
对于安装:
sudo apt-get install mosquitto
安装后:x1米1米1x,x1米2米1x
tct7dpnv8#
我已经为我的经纪人设置了用户名和密码。因此,在使用mosquito子时不得不使用它: