2017-03-27 56 views
2

我只是看着Eclipse PAHOMosquitto客戶端庫(MQTT C++庫)的細節。看起來PAHO使用mosquitto MQTT代理,但提供了自己的MQTT客戶端庫。Mosquitto vs eclipse帕霍客戶端庫

此外,Mosquitto庫提供了一種爲Mosquitto MQTT代理實現客戶端庫的方法。

我想了解這兩個客戶端庫的主要區別是什麼。 Here它被討論但不能回答我的問題。哪一個比另一個更受歡迎,爲什麼?爲什麼eclipse支持兩者?

回答

1

我面臨同樣的問題,無論選擇paho還是Mosquitto C++客戶端庫的嵌入式Linux設備。我首先嚐試了一個泛美衛生組織的最小程序。它基本上支持我需要的所有功能,但cpp-library-wrapper沒有,我覺得主項目分支paho.mqtt.cpp不能很好地維護。 由於有兩個特點

  1. 加密

  2. 集中的所有連接如MQTT版本選項等

未在泛美衛生組織通過mainBranch CPP-lib中提供的,我現在將使用libmosquittolibmosquittopp包裝。 因此,您看到我的決定僅與cpp庫有關。但是就像你我仍然有興趣瞭解底層C庫之間的區別。

+0

感謝您的信息。之前我嘗試過使用'libmosquitto',它運行良好,並且非常容易在庫中實現客戶端。但是我想嘗試'paho',因此我想知道這兩個庫都由eclipse支持的核心差異。如果我遇到任何更好的信息,我會在這裏張貼。如果可行的話,我也請求你這樣做。 – Panch

1

我們使用了Paho C庫和Java庫。如果你看Paho C代碼,代碼質量很差。使用Java庫時,我們遇到了Linux刪除臨時文件並且Paho無法恢復的問題 - 不知道是否會影響C版本。嘗試libmosquitto下一個項目。

+0

我們是一家計劃將Paho用於MQTT的java商店。你能詳細說明Java庫的問題嗎?這是否被開發團隊確認爲錯誤? – NishM

+1

@NishM我可能會有一些細節錯誤,但據我瞭解,第一次Paho庫從代理收到消息時,它會創建一個臨時文件夾和文件。可能是因爲我們配置了Paho,這是在/ var/tmp中創建的。應用程序運行了大約30天后,Linux刪除了該文件夾和文件,作爲其管理此目錄的一部分,並且在重新啓動應用程序之前,Paho已中斷。解決辦法是告訴Paho在其他地方創建它。 –