我想使用mosquitto库使用MQTT协议。
首先,我想做一些测试安装mosquitto-clients
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~minision1-Ubuntu)
nb 使用libmosquitto编写自定义程序的相同行为。
答案 0 :(得分:9)
mosquitto_pub / sub的默认主机:端口组合是localhost:1883。如果您没有在本地计算机上运行代理,那么它当然无法连接。
解决方案是在本地计算机上运行代理,或者告诉实用程序在哪里连接。例如:
mosquitto_sub -t newtopic/test -h test.mosquitto.org
答案 1 :(得分:3)
未来的googlers:
您可以使用上面提到的公共主机,但要启动本地 mosquitto代理,请首先确保除了 <div *ngIf="name.errors.required">
Name is required.
</div>
<div *ngIf="name.errors.minlength">
Name must be at least 4 characters long.
</div>
之外还安装了mosquitto
。然后,您只需运行以下命令即可启动mosquitto代理:
mosquitto_sub
答案 2 :(得分:0)
之所以发生这种情况,是因为您在系统上仅安装了mosquitto客户端,而在系统上未安装mosquitto。请执行以下命令以安装MQTT Broker。
sudo apt-get install mosquitto
答案 3 :(得分:0)
确保您的mosquitto服务已安装并正确运行。
用于安装:sudo apt-get install mosquitto
安装后:sudo service mosquitto stop
,sudo service mosquitto start
答案 4 :(得分:0)
其他答案都不适合我。就我而言,我已从 mosquitto 1.X 升级到 mosquitto 2.0,这需要将新配置添加到您的 mosquitto.conf
:
listener 1883
用于本地主机以外的客户端连接(即通过 Docker)