【socket & pipe note】
1、socket类型
2、大小端
3、socketpair
如何创建全双工管道?
直接的办法当然是pipe两次,创建两组管道,但是有没有更简单的呢?
socketpair就可以了,man socketpair:
socketpair - create a pair of connected sockets, The two sockets are indistinguishable,也就是说,用socketpair创建出来的两个描述符应该是等价的。
4、fifo
5、popen & pclose
6、对于pipe,若写入数据量小于PIPE_BUF(定义在limits.h中),则为原子写操作。如果写一个读已被关闭的通道,则产生信号SIGPIPE。pipe的限制是只能在父进程与子/孙子进程中工作,因为只有fork才能传递文件描述符(FD)。