进程间通信IPC(二)——FIFO

    本人也在学习阶段,如有错误或不合理指望,还望指出。Email:478712565@qq.com 欢迎交流
    作者:jackie    2013/8/26

一、命名管道的创建
    1、 shell
            # mkfifo  filename
    2、C语言
       # include < sys / types.h >
       # include < sys / stat.h >
       int mkfifo ( const char * pathname, mode_t mode );
            函数如果成功返回0,出 错返回–1,并更改errno的值。errno有可能出现的值为:EACCESS、EEXIST、ENAMETOO-  LONG、ENOENT、ENOSPE、ENOTDIR和EROFS。

二、 例子
  FIFO的另一个应用是在客户机和服务器之间传送数据。如果一个服务器端有多个客户端连接,每个客户端将的请求发送到公共的FIFO中(所有需与服务器联系的客户机都知道该 FIFO的路径名)。图1显示了这种安排。

  在这种类型的客户机 -服务器通信中使用 FIFO的问题是:在多个客户端连接到服务器时候,服务器如何响应各个服务器呢?一种解决方法是每个客户端发送请求时,在其中发送其进程ID,之后服务器创建的专用FIFO与其进程ID联系起来,这样就解决了该问题。例如,服务器可以用名字 /tmp/server.XX创建FIFO,其中XX被替换成客户机的进程ID。图2显示了这种安排。
 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值