rpclib sedang mencari pengelola
Jika Anda mencari perpustakaan serupa dengan dukungan untuk JSON-RPC dan operasi async, lihat packio .
rpclib
adalah perpustakaan RPC untuk C++, menyediakan implementasi klien dan server. Itu dibangun menggunakan C++14 modern, dan oleh karena itu, memerlukan kompiler terbaru. Sorotan utama:
# 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 ;
}
Ketika srv.run()
dipanggil, rpclib
memulai loop server yang mendengarkan koneksi masuk dan mencoba mengirimkan panggilan ke fungsi terikat. Fungsi dipanggil dari thread tempat run
dipanggil. Ada juga async_run
yang memunculkan thread pekerja dan segera kembali.
# 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 ;
}
Semua fitur 1.0.0 yang direncanakan telah selesai dan diuji; kondisi saat ini sudah siap produksi.
Daftar ini diperbarui saat saya mengetahui lebih banyak orang menggunakan perpustakaan; beri tahu saya jika Anda tidak ingin proyek Anda tercantum di sini.
rpclib
dibangun berdasarkan upaya proyek C++ yang fantastis. Tanpa urutan tertentu:
fmtlib
, oleh Victor Zverovich (situs web)Teriakan kepada