您的位置:首页 > 其它

进程通信之消息队列

2017-08-05 17:08 183 查看
#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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: