2014-03-26 55 views

回答

2

是的,这是可能的sysV的消息队列,从看你以前的问题,您使用的是做到这一点。您可以使用嵌入到消息格式中的msgtype字段来指定它是哪种消息,并且相应的接收进程必须在其msgrcv调用和处理该类型的消息中指定msgtype。

因此,例如,服务器可以写MSGTYPE = 1,客户端可以确认MSGTYPE 2.

请注意,这需要你真以为你的消息方案 - 仔细阅读msgrcv文档,以便了解该选项如何读取消息 - 以及你为什么要这样做。如果你做得不对,它不会很好地扩展 - 不是在性能上,而是在编程复杂性方面 - 并且你很容易陷入你的程序追逐自己的尾巴的情况。

这是否比只使用两个队列更聪明我会留给你决定。

请注意,你真的不能用POSIX消息队列来做到这一点。

0

不行,你必须使用两个消息队列