如何将一个消息队列用于多个进程?

问题描述

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

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

我设法在进程之间进行通信的唯一方法是使用不同的密钥为每个进程创建一个不同的msgget,但是我更愿意如果有一种方法可以仅使用一个msgget进行相同的操作。 / p>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)