소켓에 주소가없으므로 nameless 소켓 함수라고한다.

socketpair로 생성된 socket은 read,write 구분없이 모두 가능(주로 프로세스간 통신에 이용함)

시스템 콜은 옵션으로 지정한 protocol을 사용하여 지정한 도메인에서 지정한 type의 접속된 소켓의 이름없는 쌍을 만든다.

전이중 통신을 지원하게 된다.

#include <sys/types.h>
#include <sys/socket.h>

int socketpair(int d, int type, int protocol, int sv[2]);

옵션으로 d영역(domain)을 가지며 protocol프로토콜을 사용하는 type의 소켓 쌍을 생성한다. 생성된 소켓 쌍은 sv를 통해서 넘어온다. 두개의 소켓은 서로 구별할 수 없다.

성공시 0을 반환하고 실패할 경우 -1을 반환한다.

에러

EMFILE : 너무 많은 파일이 열려있어서 더이상 소켓을 생성할 수 없다.

EAFNOSUPPORT : 지정한 주소 지정방식이 지원되지 않는다.

EPROTONOSUPPORT : 지정된 프로토콜이 지원되지 않는다.

EFAULT : 주소 ev가 프로세스 주소 공간의 유효한 부분을 가리키지 않는다.