RCF (Remote call framework) is a portable C + + interprocess communication framework that uses C + + language features to provide a simple and efficient way to write distributed C + + software. RCF uses compile-time polymorphic clarity to separate interfaces and implementations. Unlike traditional RPC frameworks such as corba,dcom,.netremoting,wcf,ws-*, which are supported by object-oriented methods, RCF provides an interface-oriented approach. RCF lets you explicitly specify interfaces and data, rather than creating complex object models and opaque serialization code, so you can freely implement your own object model.
Other advantages of RCF:
· Portability supports a variety of compilers, and operating systems.
· Scalability can be used in a wide range of applications, from parent-child process IPC to large distributed systems.
· Efficient, with 0 copies, 0 allocations, including server side and client, on some critical paths.
· Supports multiple transmission modes (TCP, UDP, Win32 known pipes and UNIX local sockets).
· Supports compression and encryption.
· Supports one-way and bidirectional messages.
· Supports bulk one-way messages.
· Support for publish/subscribe style messages.
· Supports multicast and broadcast on UDP.
· Supports service-side callbacks to clients.
· Robust version support.
· Built-in serialization framework.
· Built in Boost.serialization support.
· Built-in Google ' s Protocol buffers support.
· Supports single-threaded and multithreaded programming modes.
· No dependencies, except for some Boost header files (1.33.0 or later). Zlib and OpenSSL dependencies are optional.
RCF usage:
Client-server system, distributed over a local area network or wide area network. From the industrial process Control point of view, instead of distributed desktop application DCOM, provide Cross-platform communication capabilities.
Background service components in a typical homogeneous LAN environment.
Communication between the windows service and her monitoring program. The
32 bit and 64-bit executable component communication bridges, such as 64-bit programs, call 32-bit dynamic-connection libraries.
Communication between parent and child processes.
A generic local IPC instead of COM.