#define MAX 256
struct msgbuf
{
long mtype;//数据类型
char mtext[MAX]; //发送的消息数据
};
/***********************消息队列创建函数*******************************/
int msgget(key_t key,int flag)
key: key_t ftok(const char *pathname,int proj_id)
pathname:必须是存在而且可读取的文件,proj_id :表示序号,用来区别同时存在的文件
成功返回 pathname 对应的键值,也就是key,错误返回-1
flag: IPC_CREAT、IPC_EXCL、IPC_NOWAIT
IPC_CREAT用于创建原来不存在的的队列,IPC_CREAT|0777,设置权限位
IPC_EXCL用于测试文件是否存在,若文件已存在则返回EEXIST,(IPC_EXCL与IPC_CREAT联合使用作为一个原子操作)
IPC_NOWAIT:不阻塞
若成功则返回消息队列的ID,若出错则返回-1
/*************************消息发送函数***************************************/
int msgsnd(int msgid,struct msgbuf *msgp,size_t msgsz,int msgflg)
msgid:已打开的消息队列ID
msgp:存储要发送的消息结构