我正在寻找一些数据来帮助我决定哪个对于 Linux 上两个独立进程之间的通信更好/更快:
- TCP
- 命名管道
哪个更糟糕:管道的系统开销还是 tcp 堆栈开销?
更新的确切要求:
- 只需要本地IPC
- 主要是很多短信
- 不需要跨平台,只需要 Linux
最佳答案
过去,我曾使用本地域套接字来做这类事情。我的库确定另一个进程是系统本地进程还是远程进程,并使用 TCP/IP 进行远程通信,使用本地域套接字进行本地通信。这种技术的好处是本地/远程连接对应用程序的其余部分是透明的。
本地域套接字使用与管道相同的机制进行通信,并且没有 TCP/IP 堆栈开销。
关于c++ - 进程间通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2027558/