我有一个问题。
我有一个进程,假设它是一个客户端,还有一个叫做服务器的进程。客户端和服务器通过同一个队列相互通信。假设客户端向服务器发送一条消息(请求),因此服务器处理它并且应该将消息发送回客户端以确认或失败。假设确认有一个 long type = 1500101
,失败有一个 long type = 1500102
。
是否有可能(在 C 中使用 msgrcv)只等待这两种类型的消息(客户端)? 如果不是,建立这种机制的最佳方式是什么?
最佳答案
不,您不能接收多种消息类型。它要么是所有类型,要么只是一种类型,要么是除了一种类型之外的所有类型。
您可以做的是使用IPC_NOWAIT
标志调用msgrcv
两次,每种类型一次。
关于c - IPC msgrcv - 只接收两种特定类型的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14977723/