Per i futuri googler:
Puoi utilizzare un host pubblico come menzionato sopra, ma per avviare un locale mosquitto broker, prima assicurati di aver installato mosquitto
oltre a mosquitto_sub
. Puoi quindi avviare il broker mosquitto semplicemente eseguendo quanto segue:
mosquitto
Basta modificare il file di configurazione di Mosquitto ( /etc/mosquitto/conf.d/mosquitto.conf
) aggiungendo queste righe...
allow_anonymous true
listener 1883 0.0.0.0
... e riavvia Mosquitto (come servizio o meno).
$ sudo service mosquitto restart
o
$ mosquitto --verbose --config-file /etc/mosquitto/conf.d/mosquitto.conf
Come informato qui, dalla v.1.7 allow_anonymous
impostato su false. È anche utile controllare i messaggi di log ( /var/log/mosquitto/mosquitto.log
).
Infine, esegui l'abbonato/editore Mosquitto utilizzando --host
(-h
) e l'indirizzo IP dell'host (ottenere if da ifconfig
o ip -color addr
comando).
Nessuna delle altre risposte ha funzionato per me. Nel mio caso, ho eseguito l'aggiornamento da mosquitto 1.X a mosquitto 2.0, che richiede l'aggiunta di una nuova configurazione al tuo mosquitto.conf
:
listener 1883
Per la connessione di client diversi da localhost (ovvero tramite Docker)
La combinazione host:port predefinita per mosquitto_pub/sub è localhost:1883. Se non hai un broker in esecuzione sul tuo computer locale, ovviamente non sarà in grado di connettersi.
La soluzione è eseguire il broker sul computer locale o indicare alle utility dove connettersi. Ad esempio:
mosquitto_sub -t newtopic/test -h test.mosquitto.org