- 用途
用于本机IPC的一种机制,仍然使用socket api
- 结构
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域注意点
- bind关联的路径名访问权限应以0777创建,应指定绝对路径名
- connect中指定的目的路径.应是已经用bind关联到另一端套接字上的.且另一端套接字类型需和本端匹配.
- connect时,若监听端队列已经满,connect返回错误[而非TCP/UDP下不断重连尝试]
- 若Unix域下套接字未指定本端地址,内核不会自动为其指定