linux mosquito-客户端获得拒绝连接

flmtquvp  于 2023-04-05  发布在  Linux
关注(0)|答案(8)|浏览(491)

我想使用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编写自定义程序。

rks48beu

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(从ifconfigip -color addr命令获取)。

w7t8yxp5

w7t8yxp52#

mosquito_pub/sub的默认主机:端口组合是localhost:1883。如果您的本地计算机上没有运行代理,那么它当然无法连接。
解决方案是在本地计算机上运行代理,或者告诉实用程序在哪里连接。例如:

mosquitto_sub -t newtopic/test -h test.mosquitto.org
dfddblmv

dfddblmv3#

其他答案都不适用于我。在我的情况下,我已经从mosquito 1.X升级到mosquito 2.0,这需要将新配置添加到mosquitto.conf

listener 1883

用于本地主机以外的客户端连接(即通过Docker)

dldeef67

dldeef674#

对于未来的谷歌人:
您可以使用上面提到的公共主机,但要启动 * 本地 * mosquito代理,首先确保您安装了mosquittomosquitto_sub。然后您可以通过运行以下命令启动mosquito代理:

mosquitto
bjg7j2ky

bjg7j2ky5#

我遇到了同样的问题,对我来说,它是在升级mosquitto的mqtt v5支持:

$ mosquitto --version
mosquitto version 2.0.14
mosquitto is an MQTT v5.0/v3.1.1/v3.1 broker.

但是,升级后的代理不再支持匿名连接:

$ mosquitto_pub -t mytopic -m "Hello World"
Connection error: Connection Refused: not authorised.
Error: The connection was refused.

这可能是一个更好的默认值,但在实验时不太友好。要配置代理允许匿名连接:

$ cat /etc/mosquitto/conf.d/standard.conf
listener 1883
protocol mqtt
allow_anonymous true

$ sudo systemctl restart mosquitto.service

然后,嘿Presto🎩🐇:

$ mosquitto_pub -t mytopic -m "Hello World"
uplii1fm

uplii1fm6#

发生这种情况是因为您的系统上只安装了mosquito客户端,而没有安装mosquito。请执行以下命令安装MQTT Broker。

sudo apt-get install mosquitto

来源:connection attempt failed bytesofgigabytes.com

nx7onnlm

nx7onnlm7#

确保您的蚊子服务安装并正确运行。
对于安装:sudo apt-get install mosquitto
安装后:x1米1米1x,x1米2米1x

tct7dpnv

tct7dpnv8#

我已经为我的经纪人设置了用户名和密码。因此,在使用mosquito子时不得不使用它:

mosquitto_sub -u username -P password -t newtopic/test -h test.mosquitto.org

相关问题