0

正如标题所说,我正在尝试在 linux (Ubuntu) 中创建一个使用 msgget 函数进行通信的 C++ 程序。该程序使用 fork() 函数创建多个进程,我希望每个进程能够通过消息队列相互通信。

我遇到的问题是我不知道如何仅使用一个 msgget 传递消息,因此我不必为每个进程创建一个具有不同密钥的消息。有没有一种方法可以让我例如对消息队列执行带有特定 ID 的 msgsnd,以便只有在 msgrcv 中添加此 ID 的另一个进程才能仅接收此消息并将其余消息留在消息队列中?

我设法在进程之间进行通信的唯一方法是使用不同的密钥为每个进程创建不同的 msgget,但如果有一种方法可以只用一个 msgget 来做同样的事情,我会更喜欢。

4

0 回答 0