QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1699|回复: 4

消息队列msgsnd问题

[复制链接]
发表于 2005-1-19 12:42:04 | 显示全部楼层 |阅读模式
我实验书上的例子,msgget没问题(没报错),msgsnd调用不成功,这可能是什么原因?这个发送消息程序和接受消息程序是分开的,书上是这么给的。
msgrcv接收的消息里是连消息结构的第一个参数long type也接收吗?
struct msgbuf{long type;char data[BUFSIZ];}
消息类型type作用:msgrcv 的参数type=负数,一本书说接收第一个绝对值比type小的消息;另一本书说接收绝对值比type小的并且是最小的一个消息,该听谁的?谢谢
发表于 2005-1-19 14:39:39 | 显示全部楼层
信所使用的系统里的man文档说的
回复

使用道具 举报

 楼主| 发表于 2005-1-19 14:40:26 | 显示全部楼层
接收程序从键盘接收输入字符串,这里没问题,但是调用msgsnd就有问题了。接收程序是接收消息再打印出来。linux输入完成是用回车结束一行吧。
回复

使用道具 举报

 楼主| 发表于 2005-1-19 15:22:45 | 显示全部楼层
msgsnd错误号14,EFAULT,地址错误,可是缓冲区指针*p明明有啊,p->data内容是我输入的字符串,应该没问题啊。
回复

使用道具 举报

 楼主| 发表于 2005-1-19 15:24:07 | 显示全部楼层
更正:是发送程序接收键盘输入
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-6 17:25 , Processed in 0.041066 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表