为什么我们仍然在struct sockaddr_un中有sun_family?

时间:2011-04-04 16:22:01

标签: c sockets unix

我是UNIX编程的新手。通常,当我们使用本地套接字进行通信时,域始终为AF_UNIX或AF_LOCAL。所以在这种情况下,struct sockaddr_un总是用于本地通信。为什么还有“短暂的太阳家庭”?出于历史原因?

struct sockaddr_un{
short sun_family;                /*AF_UNIX*/ 
char  sun_PATH[108];        /*path name */ 
};

1 个答案:

答案 0 :(得分:6)

您将sockaddr *传递给多个套接字函数(例如connectbindsendto) - 这些函数会在转换为例如家庭变量之前查看。 sockaddr_un *sockaddr_in *