免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2679 | 回复: 8
打印 上一主题 下一主题

[C++] unix IPC 有哪些应用 [复制链接]

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-12-23 06:20:00每日论坛发贴之星
日期:2015-12-23 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-07-22 10:52 |只看该作者 |倒序浏览
本帖最后由 alwaysR9 于 2015-07-22 10:57 编辑

我正在看unix 网络编程 卷二
书上一开篇就指出:"想知道如何为网络开发软件,那么必须先了解进程通信",
1. 我现在看到消息队列那一章, 但仍然没有看出IPC和网络编程有什么联系, 所以想请教大家, IPC都有哪些应用?

2. 我还有一个疑惑是: 为什么有名管道和消息队列要通过创建一个文件来实现没有亲缘关系的进程通信, 为什么不能只分配一个内核对象,并给内核对象命名来实现进程通信, 就像windows里的信号量可以被不同进程访问?

3. 另一个疑惑: 对于消息队列, mq_close() 函数到底执行了什么操作, mq_unlink() 到底执行了什么操作?

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-12-23 06:20:00每日论坛发贴之星
日期:2015-12-23 06:20:00
2 [报告]
发表于 2015-07-22 11:53 |只看该作者
我似乎对close和unlink有一点理解了.
close用来关闭打开的句柄, 句柄是用来访问文件的, 对句柄的关闭操作不会导致文件被删除
unlink用来删除文件的, 当文件的link数量为0时, 文件就要被删除了.

不知道我理解的对不对

论坛徽章:
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
3 [报告]
发表于 2015-07-22 12:54 |只看该作者
这年头,ipc用socket神马的统一处理了,方便跨硬件,而且性能基本不会是瓶颈的年代,懒得去搞共享内存消息队列信号量信号管道命名管道那些玩意

论坛徽章:
3
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:032015年亚洲杯之中国
日期:2015-04-22 15:52:45
4 [报告]
发表于 2015-07-22 13:36 |只看该作者
因为消息队列,FIFO这一系列很老很老了... 除了用shell编程时, 用管道传来传去, 搞服务器编程这么多年都没有用过管道, 本地socket基本就好.
不过, 共享内存是真心好使呀----

至于为什么要用一个文件, 因为unix下一切皆是文件啊~~~
只是当时接口是这个样子, 数据不一定就是写文件传过来的吧(这句存疑, 因为确实没用过)?

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-12-23 06:20:00每日论坛发贴之星
日期:2015-12-23 06:20:00
5 [报告]
发表于 2015-07-22 13:52 |只看该作者
回复 4# cokeboL

谢谢

   

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-12-23 06:20:00每日论坛发贴之星
日期:2015-12-23 06:20:00
6 [报告]
发表于 2015-07-22 14:00 |只看该作者
hanxin83 发表于 2015-07-22 13:36
因为消息队列,FIFO这一系列很老很老了... 除了用shell编程时, 用管道传来传去, 搞服务器编程这么多年都没有 ...


那我先放下这部分不看了, 先去学习一下多线程的知识.
我感觉计算机专业的大学生太缺乏方向了, 我自己以前就是, 想学习但却不知道方向. 缺乏方向会导致学习动力不足, 而且很可能会走弯路..而有工作经验,靠谱的前辈往往几句话就能给出某个领域学习的重点...
不得不说, 现在的大学教育真坑

谢谢前辈

论坛徽章:
12
2015年辞旧岁徽章
日期:2015-03-03 16:54:1515-16赛季CBA联赛之同曦
日期:2017-03-17 19:13:162016科比退役纪念章
日期:2016-11-07 08:28:12luobin
日期:2016-06-17 17:46:36wusuopu
日期:2016-06-17 17:43:4515-16赛季CBA联赛之福建
日期:2016-01-14 12:49:22程序设计版块每日发帖之星
日期:2015-12-13 06:20:00程序设计版块每日发帖之星
日期:2015-06-08 22:20:00程序设计版块每日发帖之星
日期:2015-06-08 22:20:002015年亚洲杯之科威特
日期:2015-03-24 14:21:272015年迎新春徽章
日期:2015-03-04 09:57:092016科比退役纪念章
日期:2018-04-10 16:20:18
7 [报告]
发表于 2015-07-22 15:24 |只看该作者
回复 6# alwaysR9

为什么不去优衣库,多浪费大学时间。
   

论坛徽章:
9
寅虎
日期:2013-12-02 12:49:22巨蟹座
日期:2014-07-18 18:13:34卯兔
日期:2014-07-25 14:43:08子鼠
日期:2014-07-26 10:10:51酉鸡
日期:2014-07-31 15:09:562015亚冠之本尤德科
日期:2015-05-19 09:27:382015亚冠之卡尔希纳萨夫
日期:2015-06-20 10:30:212015亚冠之阿尔纳斯尔
日期:2015-07-01 20:46:062015亚冠之城南
日期:2015-07-15 21:12:00
8 [报告]
发表于 2015-07-22 17:37 |只看该作者
1.网络编程的本质不就是让跨网络的两个进程通信,难道这就不是IPC了?
2.文件难道不是一个内核对象吗?

论坛徽章:
0
9 [报告]
发表于 2015-07-24 21:14 |只看该作者
IPC当然很有用啦!
首先,IPC一般是在本机上不同进程之间通讯用,当然,本机通讯还可以用管道、共享内存,甚至共同读写同一个文件来实现!
但IPC有其自身的优势:
1. IPC用起来比较简单
2. 效率很高
3. 容易实现并发操作和负载均衡

一般构建实时交易,用多进程+IPC的架构是很好的一个实现!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP