对于Unix套接字,结构sockaddress_un
有两个成员:sun_family
,它指的是要在其中创建套接字的通信域和{{ 1}}指的是路径名称
有人可以解释粗体字的含义吗?
为什么命名这两个成员的理由是:sun_path
& sun_family
sun_path
中的un
是什么意思??
答案 0 :(得分:0)
对于通信域,您可能需要查看AF_UNIX的宏(在/usr/include/un.h
中提到)的位置,使用grep -FR AF_UNIX / usr / include / . On my system
/ usr / include / x86_64-linux-gnu / bits / socket.h`给出:
/* Protocol families. */
#define PF_UNSPEC 0 /* Unspecified. */
#define PF_LOCAL 1 /* Local to host (pipes and file-domain). */
#define PF_UNIX PF_LOCAL /* POSIX name for PF_LOCAL. */
#define PF_FILE PF_LOCAL /* Another non-standard name for PF_LOCAL. */
#define PF_INET 2 /* IP protocol family. */
#define PF_AX25 3 /* Amateur Radio AX.25. */
#define PF_IPX 4 /* Novell Internet Protocol. */
#define PF_APPLETALK 5 /* Appletalk DDP. */
#define PF_NETROM 6 /* Amateur radio NetROM. */
#define PF_BRIDGE 7 /* Multiprotocol bridge. */
#define PF_ATMPVC 8 /* ATM PVCs. */
#define PF_X25 9 /* Reserved for X.25 project. */
#define PF_INET6 10 /* IP version 6. */
#define PF_ROSE 11 /* Amateur Radio X.25 PLP. */
...
表示域是套接字正在处理的通信类型。
un
代表统一,因为它结合了这些不同域使用的不同附加信息(端口号,路径,管道等),其细节在{{1}的sun_path部分中传递}。