一 概述:
(1)Unix域不是一个实际的协议簇,而是单个主机上客户/服务器通信的一种方法,所采用的API就是在不同主机上客户/服务器进行通信所有的套接字API。
(2)Unix域提供两类套接字:字节流套接字(类似TCP)和数据报套接字(类似UDP)。
(3)功能:
*Unix域套接字往往比通信两端在同一个主机的TCP套接字快出一倍。
*Unix域套接字可用于在同一个主机的不同进程之间传递描述符。
*可以把用户客户的凭证(用户ID和组ID)提供给服务器,从而提供额外的安全检查措施。
(4)Unix域套接字地址结构(ubuntu):
/*/usr/include/linux/un.h*/
#define UNIX_PATH_MAX 108
struct sockaddr_un
{
sa_family_t sun_family;/*AF_LOCAL*/
char sun_path[UNIX_PATH_MAX];/*null-terminated pathname*/
}
(5)注意:
*Unix域用于表示客户和服务器的协议地址是普通的文件系统中的路径名,除非把它们与Unix域套接字关联起来,否则无法读写这些文件。