一 ipc简介
IPC(Inter-Process Communication)是进程间通信缩写,一般有如下实现方法:
1. 消息队列
2.共享内存(最快)
3.文件
4. 网络Socket
5.开源组件(kafka,redis等)
二 qnx ipc简介
1.服务器端步骤:
(1)创建通道
name_attach() 函数:是在服务器端使用,在名称空间中定义一个name(客户端中对应open这个name),同时创建了一个channel,如下所示:
name_attach_t * name_attach( dispatch_t * dpp,
const char * path, //对应name
unsigned flags );
typedef struct _name_attach {
dispatch_t* dpp;
int chid; //对应 channel id
int mntid;
int zero[2];
} name_attach_t;
(2)接收消息:MsgReceive()从chid中 接收消息://返回值为0,表示收到pulse,返回值>0,表示收到message
(3)断开通道:name_detach()
2.客户端步骤:
(1)打开通道:name_open()打开服务器端的通道
(2)发送消息:MsgSend
(3)关闭与服务端通道:name_close()