#include <sys/types.h>
#include <sys/msg.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
struct msg_buf
{
int mtype;
char data[256];
};
int main()
{
key_t key;
int msgid;
int ret;
struct msg_buf msgbuf;
key=ftok("/tmp/2",'a');//返回文件键值
printf("key=[%x]\n",key);
msgid=msgget(key,IPC_CREAT|0666);//创建打开消息队列
if(msgid==-1)
{
printf("creat error\n");
return -1;
}
msgbuf.mtype=getpid();
strcpy(msgbuf.data,"delta will");
ret=msgsnd(msgid,&msgbuf,sizeof(msgbuf.data),IPC_NOWAIT);//发送消息
if(ret==-1)
{
printf("send message error!\n");
return -1;
}
printf("send msssage success!msgnumber=%d,msgdata=%s\n",sizeof(msgbuf)-sizeof(int),msgbuf.data);
memset(&msgbuf,0,sizeof(msgbuf));
ret=msgrcv(msgid,&msgbuf,sizeof(msgbuf.data),getpid(),IPC_NOWAIT);//接受消息
if(ret==-1)
{
printf("receive message error!\n");
return -1;
}
printf("receive message success!,msgnumber=%d,msgdata=[%s]\n",ret,msgbuf.data);
}
linux msg
最新推荐文章于 2023-12-18 10:37:41 发布