linux 消息队列编程

有a.cb.c两个文件编译后由两个窗口运行a向b发送数据b在接到a发的数据后向a发送一个数据a在接受到b的信息后打印数据,请问这个用消息队列怎么写啊... 有a.c b.c两个文件编译后由两个窗口运行 a向b发送数据 b在接到a发的数据后向a发送一个数据 a在接受到b的信息后 打印数据,请问这个用消息队列怎么写啊 展开
 我来答
a627088424
推荐于2016-07-17 · TA获得超过507个赞
知道答主
回答量:319
采纳率:42%
帮助的人:65.5万
展开全部

两个进程用相同的key,就能共享了。  之后就能通讯了。例如下面用1234做key

//接收方
msgid = msgget((key_t)1234, 0666 | IPC_CREAT); 
if(msgrcv(msgid, (void*)&data, BUFSIZ, msgtype, 0) == -1)  
        {  
            fprintf(stderr, "msgrcv failed with errno: %d\n", errno);  
            exit(EXIT_FAILURE);  
        }


//发送方
msgid = msgget((key_t)1234, 0666 | IPC_CREAT);  
if(msgsnd(msgid, (void*)&data, MAX_TEXT, 0) == -1)  
        {  
            fprintf(stderr, "msgsnd failed\n");  
            exit(EXIT_FAILURE);  
        }
追问
这个我会。。。
追答
那你这个不是很简单嘛
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式