mosquitto-client obține o conexiune refuzată (Programare, Linux, Bash, Shell, Mqtt, Mosquitto)

Luca Davanzo a intrebat.

Vreau să folosesc protocolul MQTT folosind biblioteca mosquitto.

Mai întâi de toate, vreau să fac câteva teste de instalare a mosquitto-clienților

 sudo apt-get install mosquitto-clients

Acest program oferă două „metode”:

  • mosquitto_pub
  • mosquitto_sub

Urmează acest instrucțiuni încerc să trimit un nou subiect:

mosquitto_sub -d -t newtopic/test

folosind gazda/portul implicit [localhost/1883].

Obțin:

Error: Connection refused

Este prea generic ca eroare… mă poate ajuta cineva?
Ar putea fi este o problemă de firewall? În acest caz, cum pot verifica dacă este aceasta problema?

Folosesc linux ubuntu ( 3.8.0-42-generic #62~precise1-Ubuntu).

nb același comportament scriind un program personalizat folosind libmosquitto.

Comentarii

  • Dacă doriți să utilizați computerul dvs. ca broker MQTT, ar trebui să instalați mosquitto. Este un daemon MQTT. –  > Por Oleg Olivson.
  • watta idiot! L-am dezinstalat și am uitat să îl reinstalez! mulțumesc mult! –  > Por Luca Davanzo.
  • Mă bucur că ți-ai rezolvat problema, dar te rog să ștergi această întrebare. Nu va ajuta pe nimeni în viitor. –  > Por shellter.
  • Codul sursă al utilităților este împreună cu cel al brokerului în pachetul de la mosquitto.org –  > Por jpmens.
  • Dacă vreau să postez pe un server, am nevoie de mosquitto deamon care să ruleze în interiorul serverului? –  > Por Luca Davanzo.
5 răspunsuri
ralight

Combinația implicită gazdă:port pentru mosquitto_pub/sub este localhost:1883. Dacă nu aveți un broker care rulează pe computerul local, atunci nu se va putea conecta, bineînțeles.

Soluția este fie să rulați brokerul pe calculatorul local, fie să spuneți utilităților unde să se conecteze. De exemplu:

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

Jadam

Pentru viitorii googleri:

Puteți utiliza o gazdă publică, așa cum am menționat mai sus, dar pentru a porni un local broker mosquitto, asigurați-vă mai întâi că ați instalat mosquitto în plus față de mosquitto_sub. Apoi, puteți porni brokerul mosquitto prin simpla rulare a următoarelor instrucțiuni:

mosquitto

sagar khamkar

Acest lucru se întâmplă deoarece ați instalat doar clienții mosquitto pe sistemul dvs. și nu ați instalat mosquitto pe sistem. vă rugăm să executați comanda de mai jos pentru a instala brokerul MQTT.

sudo apt-get install mosquitto

sursă:încercare de conectare eșuată bytesofgigabytes.com

Om bun

Asigurați-vă că serviciul dvs. mosquitto este instalat și rulează corect.

pentru instalare : sudo apt-get install mosquitto

după instalare : sudo service mosquitto stop , sudo service mosquitto start

user2085368

Nici unul dintre celelalte răspunsuri nu a funcționat pentru mine. În cazul meu, actualizasem de la mosquitto 1.X la mosquitto 2.0, ceea ce necesită adăugarea unei noi configurații la mosquitto.conf:

listener 1883

Pentru ca alți clienți decât localhost să se conecteze (adică, prin Docker)