C/C++ 中的进程间通信

Interprocess communication in c/c++

本文关键字:进程间通信 C++      更新时间:2023-10-16

我目前正在使用消息队列在两个进程之间传递消息,但我达到了 32k 的最大大小限制。 什么是最好的选择。对消息进行分段,然后重新组合或使用TCP/IP套接字在进程之间进行通信,或者你们可以帮助我解决任何问题。

只有你能确定正确的答案,但如果你不想拆分/重建消息,unix域套接字可能是你最好的选择。 共享内存会更快,但存在相关的同步问题。

如果读取/写入队列的程序是单线程的,那么拆分消息就很容易了 - 基本上在每个段的开头放一个字节,指示它是新消息还是前一条消息的延续。 如果它们是螺纹的,我会咬紧牙关并切换到其他东西。