2009/6/11 Siegfried Kettlitz <siegfried.kettlitz@googlemail.com>
Hello boost users and developers,
i'm currently writing a library for making remote procedure calls to C++ objects. The library is based on the variadic templates extension coming with C++0x (already present in GCC 4.3) in conjunction with the boost library (threads, serialization, asio). The aim is to have a library, that is easy to integrate and doesn't require additional tools. Writing it, so far, has thaught me a lot about C++, templates, variadic templates, threading, networking etc..
You might want to take a look at RCF library ( http://www.codeproject.com/KB/threads/RMI_For_Cpp.aspx). As an example, a simple echo server looks like this: #include <RCF/RCF.hpp> RCF_BEGIN(I_Echo, "I_Echo") RCF_METHOD_R1(std::string, echo, const std::string &); RCF_END(I_Echo); class Echo { public: std::string echo(const std::string &msg) { return msg; } }; int main() { int port = 50001; RCF::RcfServer server(port); server.bind<I_Echo, Echo>(); server.start(); return 0; } And the client: #include <RCF/RCF.hpp> RCF_BEGIN(I_Echo, "I_Echo") RCF_METHOD_R1(std::string, echo, const std::string &); RCF_END(I_Echo); int main() { std::cout << RcfClient<I_Echo>("localhost", 50001).echo("my message"); return 0; } Roman Perepelitsa.