#include <sys/types.h>
#include <sys/msg.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
struct msg_buf
{
int mtype;
char data[255];
};
int main()
{
key_t key;
int msgid;
int ret;
struct msg_buf msgbuf;
key = ftok("123456", 'a');
printf ("key = {%x}\n", key);
// 创建或获取消息队列
msgid = msgget(key, IPC_CREAT |0666);
if (msgid == -1)
{
printf ("create error!\n");
return -1;
}
// 设置消息类型
msgbuf.mtype = 2;
// 填写消息
strcpy(msgbuf.data, "test data");
// 发送消息
ret = msgsnd(msgid, &msgbuf, sizeof(msgbuf.data), IPC_NOWAIT);
if (ret == -1)
{
printf ("send message err\n");
return -1;
}
return 0;
}