rpclib
v2.3.0
rpclib 正在尋找維護者
如果您正在尋找支援 JSON-RPC 和非同步操作的類似程式庫,請查看packio 。
rpclib
是 C++ 的 RPC 函式庫,提供客戶端和伺服器實作。它是使用現代 C++14 建構的,因此需要最新的編譯器。主要亮點:
# include < iostream >
# include " rpc/server.h "
void foo () {
std::cout << " foo was called! " << std::endl;
}
int main ( int argc, char *argv[]) {
// Creating a server that listens on port 8080
rpc::server srv ( 8080 );
// Binding the name "foo" to free function foo.
// note: the signature is automatically captured
srv. bind ( " foo " , &foo);
// Binding a lambda function to the name "add".
srv. bind ( " add " , []( int a, int b) {
return a + b;
});
// Run the server loop.
srv. run ();
return 0 ;
}
當呼叫srv.run()
時, rpclib
啟動伺服器循環,該循環偵聽傳入連線並嘗試分派對綁定函數的呼叫。這些函數是從呼叫run
緒呼叫的。還有async_run
產生工作線程並立即返回。
# include < iostream >
# include " rpc/client.h "
int main () {
// Creating a client that connects to the localhost on port 8080
rpc::client client ( " 127.0.0.1 " , 8080 );
// Calling a function with paramters and converting the result to int
auto result = client. call ( " add " , 2 , 3 ). as < int >();
std::cout << " The result is: " << result << std::endl;
return 0 ;
}
所有計劃的 1.0.0 功能均已完成並測試;目前狀態是生產就緒。
當我了解更多人使用該圖書館時,此列表會更新;如果您不希望在此處列出您的項目,請告訴我。
rpclib
建立在出色的 C++ 專案的努力之上。排名不分先後:
fmtlib
,作者:Victor Zverovich(網站)大聲喊叫