基于共享内存的跨平台RPC框架 - Veigar

1. 背景在项目开发中时常会遇到需要多个进程间交互/通信的场景,进程间通信(IPC)的方式有很多,比如文件、注册表、网络、管道、共享内存等。 对于简单的交互场景,我们可以随意选择一种合适的方式,如 Google Chrome 使用的是管道的方式。 但在交互场景复杂的情况下,远程过程调用(RPC)的方式则会更新便捷。 目前开源的、功能相对完善的 C++ RPC 框架都是基于网络方式实现的,这种方式存在服务端和客户端的概念,两端相互调用需要各方都启动一个端口监听服务,既然需要监听端口,那就会存在端口被占用的问题,特别是在 Windows 上还会存在端口假可用的问题,端口虽然监听成功,但客户端仍然无法连接的情况。 我一直想找到一个基于共享内存实现的、跨平台的 C++ RPC 框架,但遗憾的是一直没能结缘,于是我决定烹饪一个。

Power By Me

开源库rpclib使用备忘

rpclib是一个 C++的 RPC 库,基于 MessagePack 进行二进制序列化和反序列化,底层使用 TCP 进行进程间通信。其功能与 Facebook 的 Thrift、Google 的 Protocol Buffers 相似,但 rpclib 更加轻量级,不需要依赖 Boost,而且不用声明接口描述文件。

开源库