2014-03-26 56 views

回答

2

是的,這是可能的sysV的消息隊列,從看你以前的問題,您使用的是做到這一點。您可以使用嵌入到消息格式中的msgtype字段來指定它是哪種消息,並且相應的接收進程必須在其msgrcv調用和處理該類型的消息中指定msgtype。

因此,例如,服務器可以寫MSGTYPE = 1,客戶端可以確認MSGTYPE 2.

請注意,這需要你真以爲你的消息方案 - 仔細閱讀msgrcv文檔,以便了解該選項如何讀取消息 - 以及你爲什麼要這樣做。如果你做得不對,它不會很好地擴展 - 不是在性能上,而是在編程複雜性方面 - 並且你很容易陷入你的程序追逐自己的尾巴的情況。

這是否比只使用兩個隊列更聰明我會留給你決定。

請注意,你真的不能用POSIX消息隊列來做到這一點。

0

不行,你必須使用兩個消息隊列