APUE - 高级进程间通信

UNIX 域套接字

UNIX 域套接字用于在同一台机器上运行的进程之间的通信。虽然因特网域套接字可用于同一目的,但 UNIX 域套接字的效率更高。UNIX 域套接字仅仅复制数据;它们并不执行协议处理,不需要添加或删除网络报头,无需计算检验和,不要产生顺序号,无需发生确认报文。

UNIX 域套接字提供流和数据报两种接口。UNIX 域数据报服务是可靠的,既不会丢失信息也不会传递出错。为了创建一对非命名的、相互连接的 UNIX 域套接字,用户可以使用它们面向网络的域套接字接口,也可使用 socketpair 函数。

#include <sys/socket.h>
int socketpair(int domain, int type, int protocol, int sockfd[2]);