将来の Google 社員向け:
上記のようにパブリック ホストを使用できますが、ローカル mosquitto ブローカー、まず mosquitto
がインストールされていることを確認してください mosquitto_sub
に加えて .その後、以下を実行するだけで mosquitto ブローカーを起動できます:
mosquitto
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
ここで通知されているように、v.1.7 allow_anonymous
以降 デフォルトは false です。ログ メッセージを確認するのにも役立ちます ( /var/log/mosquitto/mosquitto.log
).
最後に、--host
を使用して Mosquitto サブスクライバー/パブリッシャーを実行します。 (-h
) パラメータとホスト IP アドレス (get if from ifconfig
または ip -color addr
コマンド)
他の答えはどれも私にとってはうまくいきませんでした。私の場合、mosquitto 1.X から mosquitto 2.0 にアップグレードしたため、mosquitto.conf
に新しい構成を追加する必要があります。 :
listener 1883
localhost 以外のクライアントが接続する場合 (つまり、Docker 経由)
mosquitto_pub/sub のデフォルトのホスト:ポートの組み合わせは、localhost:1883 です。ローカル コンピューターで実行されているブローカーがない場合は、もちろん接続できません。
解決策は、ローカル コンピューターでブローカーを実行するか、接続先をユーティリティに指示することです。例:
mosquitto_sub -t newtopic/test -h test.mosquitto.org