2011-11-23 62 views
7

我正在尋找連接兩個系統的好方法:1)在Ubuntu上運行的基於Qt的應用程序; 2)在另一臺Ubuntu機器上運行的基於Boost的應用程序。這兩個應用程序都使用通用庫,我將這些通用接口代碼放在一起。我想使用RPC類型的接口。我看過CORBA和D-BUS,但我想知道其他人使用過或推薦過的東西。Qt和Boost RPC

在此先感謝。

回答

4

Apache Thrift是最初由Facebook開發的跨語言RPC框架。我剛纔寫的一個原型使用了它,我認爲它的使用非常簡單(我不記得任何問題)。如果您稍後想要使用其他語言編寫的組件擴展系統,這將是一個不錯的選擇。

0

互聯網通信引擎(Ice)是一個現代化且最新的支持多種語言的RPC機制。您可以下載here。大部分Ice API都是在Slice中定義的,Ice是Ice的規範語言。

切片(冰的規範語言)是將對象接口與其實現分離的基本抽象機制。 Slice在客戶端和服務器之間建立一個描述應用程序使用的類型和對象接口的契約。此描述與實現語言無關,因此客戶端是否使用與服務器相同的語言編寫並不重要。

切片定義是編譯器針對特定實現語言編譯的,例如C++。

您也可以使用XML-RPC。它是一種輕量級且易於使用的RPC機制。你可以得到它here