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(网站)大声喊叫