我是UNIX编程的新手。通常,当我们使用本地套接字进行通信时,域始终为AF_UNIX或AF_LOCAL。所以在这种情况下,struct sockaddr_un总是用于本地通信。为什么还有“短暂的太阳家庭”?出于历史原因?
struct sockaddr_un{
short sun_family; /*AF_UNIX*/
char sun_PATH[108]; /*path name */
};
答案 0 :(得分:6)
您将sockaddr *
传递给多个套接字函数(例如connect
,bind
,sendto
) - 这些函数会在转换为例如家庭变量之前查看。 sockaddr_un *
或sockaddr_in *