RCF(远程调用框架)是一个可以移植的C++进程间通信框架,使用C++语言特性,提供了一个简单高效的编写分布式C++软件的途径。RCF利用编译时多态清晰分开了接口和实现. 和传统的RPC框架如CORBA,DCOM,.NETRemoting,WCF,WS-*,等所支持的面向对象方式不一样,RCF提供了一种面向接口的方式。RCF让你明确指定接口和数据,而不是产生复杂的对象模型和不透明的串行化代码,这样你能自由实现自己的对象模型。
RCF的其他优势:
· 可移植性 支持多种编译器,和操作系统.
· 可伸缩性 可用于广泛应用,从父子进程IPC到大型分布式系统.
· 高效, 在一些关键路径上使用了零拷贝,零分配,包括服务端和客户端.
· 支持多种传输方式 (TCP, UDP, Win32有名管道 and UNIX本地套接字).
· 支持压缩和加密.
· 支持单向和双向消息.
· 支持批量单向消息.
· 支持发布/订阅风格消息.
· 支持UDP上的多播和广播.
· 支持服务端到客户端的回调.
· 健壮的版本支持.
· 内建串行化框架.
· 内建 Boost.Serialization 支持.
· 内建Google's Protocol Buffers 支持.
· 支持单线程和多线程编程模式.
· 无依赖, 除了一些 Boost 头文件 (1.33.0 or later). zlib 和 OpenSSL 依赖是可选.
RCF使用场合:
· 客户端-服务器系统,分布在局域网或者广域网. 从工业进程控制角度,替代分布式桌面应用DCOM,提供跨平台通信能力.
后台服务组件,在典型的同质局域网环境。
· Windows服务和她的监控程序之间的通信。
· 32位和64位可执行组件通信桥,例如64位程序调用32位动态连接库.
· 父子进程间通信.
· 一般的本地IPC,取代COM.