Linux中socketpair用法简析

时间:2024-04-09 21:29:48

1.作用

在Linux中socketpair用以创建一对匿名的,并且已经连接的套接字。

2.API

Linux中socketpair用法简析

第1个参数doman,表示协议族,只能为AF_LOCAL或者AF_UNIX;

第2个参数type,表示类型,只能为0。

第3个参数protocol,表示协议,可以是SOCK_STREAM或者SOCK_DGRAM。用SOCK_STREAM建立的套接字对是管道流,与一般的管道相区别的是,套接字对建立的通道是双向的,即每一端都可以进行读写。

参数sv,用于保存建立的套接字对。

3.实例

看这样一段代码:
Linux中socketpair用法简析

简单说明一下:

父进程创建一对套接字

fork一次

子进程关闭一个套接字 sv[0],然后向 sv[1] 中写,

父进程关闭另一个套接字 sv[1] ,然后向 sv[0] 中写,

结果:
Linux中socketpair用法简析