我对消息队列的理解

来源:互联网 发布:二手手机交易软件排行 编辑:程序博客网 时间:2024/05/16 11:34

用消息队列进行进程间的通信,需要记住两个结构,4个函数

第一个结构:struct  ipc_perm{

uid_t uid;

gid_t gid;

uid_t cuid;

gid_t cgid;

mode_t mode;

....

};

此结构主要用于用于 权限。

第二个结构:struct  msgid_ds {

struct ipc_termmsg_perm;

msgnum_t msg_qnum;

msglen_t msg_qbytes;

pid_t msg_lspid;

pid_t msg_lrpid;

time_t msg_stime;

time_t msg_rtime;

time_t msg_ctime;

...

};

四个函数:

int msgget(key_t  key,int flag);    /*创建一个消息队列结构*/

int msgctl(int msgid,int cmd,struct msgid_da *buf); /*对消息队列结构进行控制操作*/

int  msgsnd(int msgid,const void *ptr,size_t nbytes,int flag); /*向消息队列发生消息*/

ssize_t  msgrcv(int msgid,void *ptr,size_t nbytes,long type,int flag); /*从消息队列接受消息*/


参考文献:《unix 环境高级编程》

原创粉丝点击