请问qnx中的ipc利用channel,可以在两个进程间通信吗??

还有如果可以,是不是分别建立两个通道吗??
消息队列好像可以实现双工通信把??

最好有历程!!

谢谢!!

IPC 就是 Inter-Process Communication 啊。你的意思是能不能双共通信吧。

一个Channel就是一个单向的(从client到server的)通信。由client提出请求,由server服务请求。当然数据可以是从client流向server的(client write ),也可以是从server流向client的(client read)。

两个进程,各建一个channel,进行双向通信也是可以的,但要**特别当心死锁。**

消息队列可以双向通信,其代价是每次通信数据会被拷贝两次。对于经常、大量的数据传递不是太合适。

其实在很多情况下,双向通信是可以避免的。通常是让client向server注册一个事件(一个Pulse)。当server要向client传数据时,server会MsgDelieverEvent()这个事件。client收到这个事件后,再转而向server去要求那些数据。