rpclib يبحث عن مشرفين
إذا كنت تبحث عن مكتبة مشابهة تدعم عمليات JSON-RPC والعمليات غير المتزامنة، فاطلع على packio .
rpclib
هي مكتبة RPC لـ C++، توفر تنفيذ كل من العميل والخادم. تم إنشاؤه باستخدام 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
بواسطة فيكتور زفيروفيتش (موقع الكتروني)صيحات ل