Für zukünftige Googler:
Sie können einen öffentlichen Host wie oben erwähnt verwenden, aber um einen lokalen zu starten mosquitto broker, stellen Sie zunächst sicher, dass Sie mosquitto
installiert haben zusätzlich zu mosquitto_sub
. Sie können dann den Mosquitto-Broker starten, indem Sie einfach Folgendes ausführen:
mosquitto
Bearbeiten Sie einfach die Mosquitto-Konfigurationsdatei ( /etc/mosquitto/conf.d/mosquitto.conf
) Hinzufügen dieser Zeilen ...
allow_anonymous true
listener 1883 0.0.0.0
... und starten Sie Mosquitto neu (als Dienst oder nicht).
$ sudo service mosquitto restart
oder
$ mosquitto --verbose --config-file /etc/mosquitto/conf.d/mosquitto.conf
Wie hier mitgeteilt, seit v.1.7 allow_anonymous
standardmäßig auf „false“ gesetzt. Es ist auch nützlich, Protokollmeldungen zu überprüfen ( /var/log/mosquitto/mosquitto.log
).
Führen Sie schließlich Mosquitto Subscriber/Publisher mit --host
aus (-h
)-Parameter und die Host-IP-Adresse (abrufen von ifconfig
oder ip -color addr
Befehl).
Keine der anderen Antworten hat bei mir funktioniert. In meinem Fall hatte ich ein Upgrade von Mosquitto 1.X auf Mosquitto 2.0 durchgeführt, was das Hinzufügen einer neuen Konfiguration zu Ihrem mosquitto.conf
erfordert :
listener 1883
Für andere Clients als localhost zum Verbinden (dh über Docker)
Die standardmäßige Host:Port-Kombination für mosquitto_pub/sub ist localhost:1883. Wenn auf Ihrem lokalen Computer kein Broker läuft, kann er sich natürlich nicht verbinden.
Die Lösung besteht darin, entweder den Broker auf Ihrem lokalen Computer auszuführen oder den Dienstprogrammen mitzuteilen, wo sie sich verbinden sollen. Zum Beispiel:
mosquitto_sub -t newtopic/test -h test.mosquitto.org