linux下的消息管道的聊天程序实现项目.docVIP

  • 26
  • 0
  • 约3.82千字
  • 约 6页
  • 2018-10-16 发布于湖北
  • 举报

linux下的消息管道的聊天程序实现项目.doc

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

文档评论(0)

1亿VIP精品文档

相关文档