免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1455 | 回复: 2

[C] 进程间通信消息队列的问题 [复制链接]

论坛徽章:
0
发表于 2015-12-10 09:16 |显示全部楼层
     最近编写一个程序,需要实现两个毫不相关进程之间的通信,由于每次通信的数据量不够并且通信操作频繁,所以初步拟定用消息队列或者命名管道。因为命名管道存在打开和关闭的问题,所以选择用消息队列。
     但是现在有一个现象,如果设备意外断电等导致进程异常终止,下次上电之后通过队列通信数据就变成了乱码。如果重新生成一个消息队列问题便没有了,所以怀疑是因为上次创建的消息队列资源因为意外终止并没有被回收,上网查了资料,说删除消息队列有两种方式1.重启内核2.显式删除。既然意外终止进程导致不能显式删除队列,那么重新启动设备应该就可以删除,现在看来并不是这样。不知道大家有没有遇到相同的问题。
     还有一个问题,我们常说的进程间通信方式主要都会有四个方法来操作,比如创建,打开,读,写,关闭,删除(打开和关闭时管道等文件操作),实际应用当中,嵌入式设备中的程序都是一直在跑,并不会中规中矩地按上面几步去完成通信之后的关闭和删除工作,这个时候如果因为断电或者其他原因导致进程终止,那么程序很有可能就会出现问题。不知道大家有没有类似的问题,怎么解决的,一起来讨论一下。

论坛徽章:
36
子鼠
日期:2013-08-28 22:23:29黄金圣斗士
日期:2015-12-01 11:37:51程序设计版块每日发帖之星
日期:2015-12-14 06:20:00CU十四周年纪念徽章
日期:2015-12-22 16:50:40IT运维版块每日发帖之星
日期:2016-01-25 06:20:0015-16赛季CBA联赛之深圳
日期:2016-01-27 10:31:172016猴年福章徽章
日期:2016-02-18 15:30:3415-16赛季CBA联赛之福建
日期:2016-04-07 11:25:2215-16赛季CBA联赛之青岛
日期:2016-04-29 18:02:5915-16赛季CBA联赛之北控
日期:2016-06-20 17:38:50技术图书徽章
日期:2016-07-19 13:54:03程序设计版块每日发帖之星
日期:2016-08-21 06:20:00
发表于 2015-12-10 09:54 |显示全部楼层
用socket吧,容易扩展跨硬件

论坛徽章:
0
发表于 2015-12-10 10:43 |显示全部楼层
真是选择更重要,谢谢你的建议
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP