LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 801|回复: 4

求助消息队列相关

[复制链接]
发表于 2006-5-30 16:23:12 | 显示全部楼层 |阅读模式
系统为linux rh9    设计一网关  采用消息队列作为数据收发缓冲

现在的程序在收到数据后(socket recv) 往消息队列中发送时候报错msgsnd :
: Invalid argument   

很奇怪  之前写的发送缓冲都没有问题 怎么接受缓冲怎么也创建不起  哪位老大熟悉这方面编程 请加我qq2643098  跟我交流一下吧
 楼主| 发表于 2006-5-30 16:27:46 | 显示全部楼层
补充一下  系统消息队列数等设置都改过  足够用的.  发送数据格式如下
struct msg_ismg_recv
{
        long mtype; /* 消息类型 */  
        char mtext[1024]; /* 消息的文本 */
};

套接口收到数据后
msend_ismg.mtype = 0;
memcpy(msend_ismg.mtext, receive, sizeof(receive));
if (!msgsnd(msgid, &msend_ismg, sizeof (&msend_ismg.mtext), IPC_NOWAIT) == 0)
{
        perror ("msgsnd :\n");
}
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-30 17:04:41 | 显示全部楼层
刚发现歌问题  如果采用同一个消息队列  不新建消息队列的话就可以实现收发  通过type值来区分业务类型   但   这是怎么回事啊?  为什么创建第二个消息队列就不行了
回复 支持 反对

使用道具 举报

发表于 2006-5-30 21:25:19 | 显示全部楼层
用消息队列实现数据缓冲,真会选!!!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-31 08:48:49 | 显示全部楼层
Post by newroot
用消息队列实现数据缓冲,真会选!!!

不行么?  应该可以的嘛  至少应该有效果嘛?   那你说说用什么呢?


-------------
哦  可能是说它容量不够大的意思吧??   那用什么好呢?  自己写队列还是?
回复 支持 反对

使用道具 举报

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

本版积分规则

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