簡體   English   中英

跨平台 IPC 的封裝接口

[英]Wrapper Interface for Cross Platform IPC

我是 IPC 的新手。 我想在我的項目中使用不同的 IPC 機制。 根據性能和要求,我需要將 IPC 機制更改為消息隊列/共享 memory 或 sockets。

即使 IPC 機制在內部發生變化,我也想使用通用 API 來發送、接收和初始化 IPC。

C++ 中是否有任何開源包裝庫或通用接口? 還是我需要開發自己的 API 來定義它? 我想參考這些是否有任何可用的接口。

我在下面尋找類似的東西

  1. 初始化(參數);
  2. 發送(參數);
  3. 接收(參數);

還有很多

提前致謝

有許多用於 IPC 的 C++ 庫(在 SO 上詢問庫是題外話)。 我和我一起工作

他們對我來說還不錯。 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<uint8_t>std::string的原因是與其他組件的兼容性,可能寫在 C 中。

不是超級精確的答案,但我希望它能讓您了解從哪里開始。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM