rpclib está procurando por mantenedores
Se você está procurando uma biblioteca semelhante com suporte para JSON-RPC e operações assíncronas, confira packio .
rpclib
é uma biblioteca RPC para C++, fornecendo uma implementação de cliente e servidor. Ele é construído usando C++14 moderno e, como tal, requer um compilador recente. Principais destaques:
# 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 ;
}
Quando srv.run()
é chamado, rpclib
inicia o loop do servidor que escuta as conexões de entrada e tenta despachar chamadas para as funções vinculadas. As funções são chamadas a partir do thread de onde run
foi chamado. Há também async_run
que gera threads de trabalho e retorna imediatamente.
# 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 ;
}
Todos os recursos planejados para 1.0.0 foram concluídos e testados; o estado atual está pronto para produção.
Esta lista é atualizada à medida que aprendo mais pessoas usando a biblioteca; deixe-me saber se você não deseja que seu projeto seja listado aqui.
rpclib
baseia-se nos esforços de fantásticos projetos C++. Sem nenhuma ordem específica:
fmtlib
, por Victor Zverovich (site)Gritos para