我正在寻找关于C++实现的RPC库的建议,适用于C++开发人员。
一些要求和限制:
- 应该在linux/unix和win32系统上工作
- 能够执行自由函数和类方法
- 最好是用现代C++编写而不是90年代/Java风格的C++
- 能够在网络和异构架构上运行
- 不要太慢或低效
- 最好提供TR1样式的std::function等接口
我的示例用法是在远程机器上调用自由函数foo。
---snip---
// foo translation unit
int foo(int i, int j)
{
return i + j;
}
---snip---
---snip---
// client side main
int main()
{
//register foo on client and server
//setup necassary connections and states
int result;
if (RPCmechanism.invoke("foo",4,9,result))
std::cout << "foo(4,9) = " result << std::endl;
else
std::cout << "failed to invoke foo(4,9)!" << std::endl;
return 0;
}
---snip---
能够实现上述或类似功能的东西将是很棒的。
注意:我不对其他语言绑定感兴趣。请不要因为它有其他语言绑定而提供解决方案。我只对用C++编写、设计良好、高效且适用于HPC场景的RPC框架感兴趣。