1.用途
用于本机IPC
的一种机制,仍然使用socket api
.
2.结构
struct sockaddr_un
{
// AF_LOCAL/AF_UNIX
sa_family_t sun_family;
char sun_path[104];
};
socketpair
int socketpair(
// AF_LOCAL
int family,
// SOCK_STREAM/SOCK_DGRAM
int type,
// 0
int protocol,
// 新创建两个套接字描述符作为sockfd[0]/sockfd[1]返回
int sockfd[2]);
Unix域注意点
1.bind
关联的路径名访问权限应以0777
创建,应指定绝对路径名
2.connect
中指定的目的路径.应是已经用bind
关联到另一端套接字上的.且另一端套接字类型需和本端匹配.
3.connect
时,若监听端队列已经满,connect
返回错误(而非TCP/UDP
下不断重连尝试)
4.若Unix
域下套接字未指定本端地址,内核不会自动为其指定