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 로 이름 변경됨(웹사이트)감사합니다