我是IPC的新手。 我想在我的项目中使用不同的IPC机制。 根据性能和需求,我需要将IPC机制更改为消息队列/共享内存或套接字。
我希望使用公共API来发送,接收和初始化IPC,即使IPC机制在内部发生变化。
在C++中有开放源码的包装器库或公共接口吗? 或者我需要开发自己的API来定义这一点吗? 我想参考一下,如果有任何已经可用的接口这些。
我正在寻找类似的东西在下面
还有更多
提前致谢
有许多用于IPC的C++库(在上面询问库是离题的)。 我的同事
对我来说也挺好的。 对于C++来说,没有“统一的IPC接口”这回事,你必须只是想清楚你到底需要什么,并根据你的需要来设计接口。 我通常使用类似于下面界面的东西:
class AbstractIPC
{
public:
virtual ~AbstractIPC() = default;
virtual bool open() = 0;
virtual bool close() = 0;
virtual int send(const uint8_t* data, size_t, length) = 0;
virtual int receive(uint8_t* data, size_t, length) = 0;
};
不使用std::vector
或std::string
的原因是与其他组件的兼容性,这些组件可能是用C编写的。
不是超级精确的答案,但我希望它能给你一些洞察力从哪里开始。