2016-11-11 112 views
0

我試圖找出是否有兩個訂閱同一服務器的paho.mqtt客戶端(https://eclipse.org/paho/clients/python/docs/)。客戶端和服務器都在同一臺主機上運行。我的目標是讓兩個客戶端以不同的憑證訂閱同一個服務器(在我的例子中是使用mqtt插件的rabbitmq),所以我可以通過虛擬主機(而不是主題,因爲我無法控制主題)對我的有效負載進行分類。訂閱同一客戶端的兩個paho.mqtt客戶端本地化

我當時的看法是,客戶端只保留重新連接這將表明我現在不是做錯了什麼,或者只能有連接在同一時間的MQTT服務器一個客戶端...

所以這裏是一個問題 - 你是否能夠運行多個客戶端訂閱到所有客戶端和服務器在本地運行的服務器?


編輯:

它似乎用的RabbitMQ MQTT插件可以實現這一功能。人們可以配置兩個用戶訪問單獨的虛擬主機,並通過這種有效載荷分離。我的方案是配置兩個客戶端,以便我可以區分誰發送了哪個有效內容,並且我可以派生鏡像客戶端來消費相關用戶的有效內容。

非常感謝@hardillb誰幫助了這個問題和相關的問題。

回答

2

每個客戶端都必須有唯一的客戶端ID,當新客戶端連接到相同的客戶端ID時,代理將啓動最老的客戶端。除此之外,您可以運行儘可能多的客戶端,因爲您希望從可以到達代理商的任何地方進行連接。

+0

就是這樣,兩個客戶端都有相同的客戶端ID。再次感謝! 您可能會發現有趣的是,如果將RabbitMQ與MQTT插件一起使用,則可以通過用戶標識分隔有效載荷,因爲有效載荷屬於不同的虛擬主機。所以我實現了我在其他問題中尋找的功能,並且在您的幫助下,我現在擁有了我需要的一切。再次感謝! – Greg0ry