注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

mie

 
 
 

日志

 
 

Linux(Ubuntu)消息队列:Message too long  

2010-07-06 19:02:22|  分类: linux、FreeBSD等 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

         今天一天都没出现这个情况,但是现在出现了。由于内存池和hash表的问题,所以很郁闷。没想到再次遇到这个奇怪的问题。

         之前一直是正常的,但是,刚刚一直提示“Message too long”!问题是,我mq_open创建消息队列之后,没有发送任何消息!那么这个消息哪儿来的?而且,mq_recieve居然一直提示,提示后系统就处理,频繁处理的结果是,CPU使用率总是50%左右!

        http://www.daniweb.com/forums/thread234744.html

http://www.unix.com/programming/118968-posix-mq_receive-issue-message-too-long.html

http://www.linuxforums.org/forum/linux-programming-scripting/152740-posix-mq_receive-issue-message-too-long.html

 

这篇帖子http://www.mombu.com/programming/c/t-message-too-long-for-mqueue-receive-1524179.html讲了原因!原来,如果在mq_open里面指定了消息的最大大小,那么,mq_recieve的接收缓冲区就必须是那个大小!否则就报错!

 

这个消息队列真的很强!它最大可以接收8192字节,这意味着可以借此很方便地进行数据传输了!不亚于管道,哈哈

 

By: zhanyonhu

  评论这张
 
阅读(2071)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016