消息队列

mydata.h

#ifndef _MYDATA_H
#define _MYDATA_H

#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h>

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct Mydata
{
int len;
long type;
char buf[64];
}l
#endif

frst.c
#include “mydata.h”

int main(int argc,int argv[])
{
int mqid=0;
struct Mydata data={6,9,“hello”};
mqid=msgget(9999,IPC_CREAT | 0666);
if(mqid<0)
{
printf(“msgget error\n”);
return 1;
}
msgsnd(mqid,&data.type,data.len,0);//
return 0;
}

second.c
#include “mydata.h”

int main(int argc,char* argv[])
{
int msgid=0;
struct MyData data={0};
mqid=msgget(9999,IPC_CREAT | 0666);
if(mqid<0)
{
printf(“msgget error”);
return 1;
}
msgrcv(mqid,&data.type,6.9.0);
//消息队列标识 消息类型 消息大小
接受的第一个消息 0

data.type=99;
data.len=6;
printf("buf=%s in second\n",data.buf);
msgsnd(mqid,&data.type,data.len,0);
	//消息队列标识 消息类型  消息大小   0 时 sgssnd 会阻塞
return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值