c++ - 进程间通信

标签 c++ linux

我正在寻找一些数据来帮助我决定哪个对于 Linux 上两个独立进程之间的通信更好/更快:

  • TCP
  • 命名管道

哪个更糟糕:管道的系统开销还是 tcp 堆栈开销?


更新的确切要求:

  • 只需要本地IPC
  • 主要是很多短信
  • 不需要跨平台,只需要 Linux

最佳答案

过去,我曾使用本地域套接字来做这类事情。我的库确定另一个进程是系统本地进程还是远程进程,并使用 TCP/IP 进行远程通信,使用本地域套接字进行本地通信。这种技术的好处是本地/远程连接对应用程序的其余部分是透明的。

本地域套接字使用与管道相同的机制进行通信,并且没有 TCP/IP 堆栈开销。

关于c++ - 进程间通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2027558/

相关文章:

c++ - gcc 是否有丢弃 -g 标志的选项?

c++ - 使用 cocoapods 在 iOS 上集成 GoogleCloudMessaging

c++ - C++11 中的 "member initializer"是什么?

c++ - 如何使用opencv_contrib编译Opencv3.2.0

android - 获取连接设备的列表

java - maven 进程资源不会替换 Linux 上属性文件中的占位符

c++ - 将 condition_variable 与 unique_lock 一起使用导致周期性崩溃(GCC 4.7,OSX)

c++ - 如何在运行时以最小的开销共享全局常量?

linux - 带有 meta-shift 键的快捷方式在 emacs 中不起作用

c - 诊断进程卡在D状态(不可中断 sleep /阻塞IO)