我有一個本地(OSX 11)mosquitto代理(1.4.7)具有以下配置運行:驗證本地mosquitto MQTT經紀人橋接到test.mosquitto.org
connection test
address test.mosquitto.org
topic in_topic in 0
topic out_topic out 0
try_private false
notifications false
bridge_attempt_unsubscribe true
我拿到的conf設置在這裏輸入:bridge local mosquitto to cloud broker(謝謝)
我現在有3個終端。
A:直接使用ruby腳本和ruby-mqtt
訂閱test.mosquitto.org。
乙:向當地經紀商mosquitto_sub -t in_topic
Ç:發佈已使用此命令:mosquitto_pub -h test.mosquitto.org -t in_topic -m "hello world1"
現在,我這樣做時,我得到一個和該響應所以這讓我覺得我的橋接連接正在工作。但是,如果我放棄-h test.mosquitto.org
,我不會收到A的消息。因此,如果我包含-h
選項,則該消息僅發送給該代理(test.mosquitto.org)。
在另一方面,如果我停止本地mosquitto代理,然後運行相同的命令,包括-h
選項,則一個仍然得到消息,並乙沒有。 B實際上甚至沒有啓動,因爲連接被拒絕,因爲本地代理沒有運行。
所以,我的問題是,這種配置是否確實證明了經紀人正在橋接?我不確定。
更新: 作爲hardillb指出我的錯誤是,我用發佈的主題是沒有配置發佈了其他券商。當我將conf更新爲topic in_topic out 0
時,我成功地直接從test.mosquitto.org代理獲取消息,換句話說,不包括-h test.mosquitto.org
。消息根據配置傳播。
什麼,我得到了錯誤,可以在橋接段在這裏找到的文檔:http://mosquitto.org/man/mosquitto-conf-5.html
謝謝!這很有道理,我可以證實,它的工作。真的很感謝幫助:) – Apie