有名管道: 文件系统中可见的一个管道文件,文件属性第一位为p
无名管道和有名管道不同点在于有名管道可以在文件系统中可见。
有名管道在磁盘上只是一个节点,文件的数据存在内存缓存页面中。
- // _ooOoo_
- // o8888888o
- // 88" . "88
- // (| -_- |)
- // O\ = /O
- // ____/`---'\____
- // . ' \\| |// `.
- // / \\||| : |||// \
- // / _||||| -:- |||||- \
- // | | \\\ - /// | |
- // | \_| ''\---/'' | |
- // \ .-\__ `-` ___/-. /
- // ___`. .' /--.--\ `. . __
- // ."" '< `.___\_<|>_/___.' >'"".
- // | | : `- \`.;`\ _ /`;.`/ - ` : | |
- // \ \ `-. \_ __\ /__ _/ .-` / /
- // ======`-.____`-.___\_____/___.-`____.-'======
- // `=---='
- //
- // .............................................
- // 佛祖保佑 永无BUG
- // 佛曰:
- // 写字楼里写字间,写字间里程序员;
- // 程序人员写程序,又拿程序换酒钱。
- // 酒醒只在网上坐,酒醉还来网下眠;
- // 酒醉酒醒日复日,网上网下年复年。
- // 但愿老死电脑间,不愿鞠躬老板前;
- // 奔驰宝马贵者趣,公交自行程序员。
- // 别人笑我忒疯癫,我笑自己命太贱;
- // 不见满街漂亮妹,哪个归得程序员?
WRITE端:
READ端:
FIFO服务模型:
发送请求,不需要应答:
所有客户端都能访问的的FIFO的文件,每一个客户端都可以向这个管道中写入数据,
为了保持一致性,(同步)加锁.
发送的数据可以以一定的格式进行:
比如一个结构体或一定的格式: pid:fifo:msg;
进行完整通信:
利用多个fifo文件,服务器提供一个总的FIFO,每个客户端有个相关的fifo用来接收服务端的数据。