RCF简介

1. What is RCF?

RCF (Remote Call Framework,远程调用框架)是一个面向C++的跨平台进程间通信框架。
与其他通信框架不同,RCF不使用单独的IDL(Interface Definition Language,接口定义语言)。RCF接口是在C++中直接定义的,用户定义数据类型的序列化也是在C++中实现的。代替一个单独的IDL编译器工具,RCF使用C++编译器生成clientserver存根。
RCF提供了广泛的进程间通信特性:

  • Oneway和twoway消息传递。
  • Batched oneway消息传递。
  • 发布/订阅(Publish/subscribe)风格的消息传递。
  • 通过UDP多播(Multicast)和广播(Broadcast)消息传递。
  • 异步远程调用(Asynchronous remote calls)。
  • Server-to-client回调连接。
  • 多种传输方式(TCP、UDP、Windows命名管道和UNIX本地域套接字)。
  • 通过HTTP和HTTPS进行tunnel。
  • 压缩(zlib)和加密(Kerberos、NTLM、Schannel和OpenSSL)。
  • 支持IPv6。
  • 内置序列化框架。
  • 内置文件传输功能。
  • 健壮的版本支持。
  • 支持Boost.Serialization
  • 支持Protocol Buffers
  • 支持JSON-RPC。
  • 可移植性,适用于多种编译器、平台和操作系统。
  • 可伸缩性,适用于广泛的应用程序,从简单的parent-child IPC,到大型分布式系统。
  • 效率,在服务器和客户机上的关键路径上实现零拷贝(zero-copy)、零堆分配(zero-heap allocation)。
  • 没有依赖,除了Boost头文件(1.35.0或更高版本)。zlibOpenSSL是可选的。

要开始学习RCF编程,请直接进入教程。

2. Why should I use RCF?

如果您正在编写需要某种形式的进程间通信的C++组件,那么应该考虑使用RCF。对于原生C++组件之间的通信,使用XML和XML模式来描述消息几乎没有什么好处,因为原生序列化格式更具描述性和搞笑性。单独编译IDL文件也没有什么好处。RCF在C++代码中描述接口的方法使构建更简单,开发更灵活。
RCF是用100%标准C++编写的,既可移植又高效。基于RCF的通信层为您提供了跨多种编译器、操作系统和平台的可移植性,以及从多种传输机制、线程模型和消息传递范例中进行选择的能力。
RCF已经被设计为实用应用程序的一个实用工具。自2006年以来,RCF一直在大规模的商业应用中,今天它为世界各地的网络应用提供了动力。RCF所使用的一些场景包括:

  • 跨LAN或WAN的Client-server系统。从工业过程控制,到取代分布式桌面应用中的DCOM,再到跨平台通信。
  • 后端服务器组件,通常在一个同构LAN环境中。
  • 在Windows服务和它们的监视应用程序之间通信。
  • Parent-child进程通信。
  • 通用本地IPC,取代COM。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值