gpt4 book ai didi

linux - 关于so​​cketaddress_un的问题

转载 作者:太空宇宙 更新时间:2023-11-04 04:03:36 24 4
gpt4 key购买 nike

对于 Unix 套接字,有结构 sockaddress_un其中有两个成员:sun_family它指的是要在其中创建套接字的通信域sun_path它指的是路径名称

谁能解释一下黑体字的意思?

为什么命名这两位成员的理由是:sun_family & sun_path

un 是什么意思?在sockaddress_un意思是??

最佳答案

对于通信域,您可能需要使用 grep -FR AF_UNIX/usr/include/ 查看 AF_UNIX 宏(在 /usr/include/un.h 中提到)的设置位置。在我的系统上/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 代表统一,因为它结合了这些不同域使用的不同附加信息(端口号、路径、管道等),其具体信息在 struct sockaddr_un 的 sun_path 部分中传递。

关于linux - 关于so​​cketaddress_un的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22139073/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com