2014-10-02 23 views
0

我需要編寫一些C/C++代碼才能移植到Windows和Linux上,它們使用RPC(僅在同一主機上的進程之間,不跨網絡,因此不需要跨平臺調用)。可以在Windows和Linux上運行的RPC接口?

Windows有MSRPC,Linux有Sun-RPC,但它們在編寫RPC調用和方法的方式上,甚至在您如何部署RPC服務方面都不兼容。

有沒有人有任何關於如何解決這個問題的聰明想法?

+1

'#if defined(WIN32)... #elif defined(__ LINUX__)... #else ... #endif' – 2014-10-02 20:12:47

+0

ZeroMQ or similar? – Niall 2014-10-02 20:13:29

+1

boost.interprocess存在。我從來沒有嘗試過。 – dohashi 2014-10-02 20:15:13

回答

1

您是否考慮過一些JSONRPCJSON是文本serialization格式,而JSONRPC是其上的RPC機器)?或者CORBA - 這是一個面向對象的RPC廣泛使用的標準Common Object Request Broker Archtecture

或者可能是POCO libraries? POCO是一個跨平臺(兩個Posix & Windows)框架&庫設置在C++中,它包括網絡&進程& IPC設施。 Qt跨平臺工具包也有一個核心層,提供QtNetwork(用於網絡套接字)和QProcess(用於管理進程)。

+1

我改進了我的回答,但我不同意Wim Ombelets的上述評論。我給出的鏈接被廣泛使用和穩定(我給出的名稱是可以使用的)。解釋一個廣泛使用的庫的描述並不會帶來任何新的東西。問題本身(明智地)只給出* MSRPC *和* Sun-RPC的鏈接 - 沒有解釋 - – 2014-10-03 07:06:56

0

您可能會考慮使用qjsonrpc。它是一個在Qt庫之上開發的庫,提供了易用的jsonrpc支持。它提供了一個客戶端和一個服務器,並且在linux/osx/windows上受支持。

免責聲明:我是qjsonrpc的作者,希望你們試試看!

相關問題