您的位置:首页 > 其它

什么情况下 msgsnd消息队列 和msgrcv的结果不同呢?

2012-09-29 15:57 218 查看
type置零:接收时不过滤;否则就要匹配才能接收。


什么情况下 msgsnd消息队列 和msgrcv的结果不同呢?

if((len=msgrcv(dyjinque,&msg,sizeof(msg.text),0,0))==-1){

printf("======接收消息队列失败!!\n");

err_w("msgrcv")

}

复制代码

我改成

if((len=msgrcv(dyjinque,&msg,sizeof(msg.text),msg.ntype,0))==-1){

printf("======接收消息队列失败!!\n");

err_w("msgrcv")

}

复制代码
却收不到消息了

你的msg.ntype是什么值?你msgsnd时候写的是什么值?

stMsgQBuf.type = iMsgQType

在RECV时,MQ的TYPE要等于你发送时的TYPE。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐