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 による (Web サイト)に向けて叫ぶ