- 26
- 0
- 约3.82千字
- 约 6页
- 2018-10-16 发布于湖北
- 举报
linux下的消息管道的聊天程序实现项目
作者:叶建敏 QQ:230817742 2010年4月22日 15:12:56
在linux下使用管道来进行聊天的小程序
1管道
管道是一种最基本的IPC机制,由pipe函数创建:
#include unistd.h
int pipe(int filedes[2]);
调用pipe函数时在内核中开辟一块缓冲区(称为管道)用于通信,它有一个读端一个写端,然后通过filedes参数传出给用户程序两个文件描述符,filedes[0]指向管道的读端,filedes[1]指向管道的写端(很好记,就像0是标准输入1是标准输出一样)。所以管道在用户程序看起来就像一个打开的文件,通过read(filedes[0]);或者write(filedes[1]);向这个文件读写数据其实是在读写内核缓冲区。pipe函数调用成功返回0,调用失败返回-1。
开辟了管道之后如何实现两个进程间的通信呢?比如可以按下面的步骤通信。
1. 父进程调用pipe开辟管道,得到两个文件描述符指向管道的两端。
2. 父进程调用fork创建子进程,那么子进程也有两个文件描述符指向同一管道。
3. 父进程关闭管道读端,子进程关闭管道写端。父进程可以往管道里写,子进程可以从管道里读,管道是用环形队列实现的,数据从写端流入从读端流出,这样就实现了进程间通信。
例管道
#include stdlib.h
#inclu
您可能关注的文档
- igbt全数字变频感应电炉项目方案计划.doc
- imsw-g17工程项目进度计划管理规定(2.0版)(doc 8).doc
- imsw-g17工程项目进度计划管理规定(20版).doc
- inconel690-u型专用管生产线项目.doc
- interimreport_background绩效管理改进项目.ppt
- interimreport_odsreport绩效管理改进项目.ppt
- ipma国际项目管理卓越模型-《ipma国际项目管理.pdf
- ipma项目管理研究探究.doc
- ipma项目管理研究探究-毕业论文.doc
- ipmp培训——第六部分 项目的综合管理.ppt
- 2002年天津高考文科综合真题及答案(OCR).pdf
- 2001年上海高考历史真题及答案(图片版)(OCR).pdf
- 2002年贵州高考文科综合真题及答案(OCR).pdf
- 聚乙二醇干扰素α治疗慢性乙型肝炎不良反应管理专家意见.pdf
- 基于镫骨底板及底板上结构的先天性听骨链畸形新分型及其手术策略和预后评估专家共识(2026版).pdf
- 乳腺癌内分泌治疗中国专家共识2026版要点解读.pdf
- 老年肌少症康复干预指南(2025 版).pdf
- WS T 442-2024《临床实验室生物安全指南》行业标准解读.pdf
- 胸部CT检查接触屏蔽防护用品规范使用专家共识.pdf
- 子宫颈癌康复期疾病监测与长期管理中国专家共识(2026年版).pdf
最近下载
- 2025年广东省公务员录用考试《行测》真题及答案解析(回忆版).pdf VIP
- 【日期不详】重庆八中小升初数学 思维与运算.docx VIP
- 实施指南《GB_T21152-2018土方机械轮式或高速橡胶履带式机器制动系统的性能要求和试验方法》实施指南.docx VIP
- 蓝豚医陪陪诊服务发展研究报告2025.docx
- 技术加设备入股合同(2篇).doc VIP
- 苏S01-2021给水排水建筑工程图集.docx VIP
- NB∕T 47023-2012 长颈对焊法兰(高清版).pdf VIP
- 防腐设备维护保养计划方案.docx
- 一维半无限长多孔介质柱体,一端为定浓度边界.xls VIP
- 城市可信数据空间建设方案(29页PPT).pptx
原创力文档

文档评论(0)