当我为 "home" 服务器获取 addrinfo 时,是否应该考虑 getaddrinfo 返回的链表

Should I think about linked list returned by getaddrinfo when I get addrinfo for my "home" server

我使用在我的家庭网络上运行的套接字创建了一个服务器。 socket address=192.168.88.123:7777 当我调用 getaddrinfo() 函数时,我将“192.168.88.123”作为第一个参数,“7777”作为第二个参数,还有一些提示(AF_INET、SOCK_STREAM)和指向结果链表的指针。我注意到在这种情况下,我总是得到只有一种结构的链表。

问题: 在这种情况下(当我在自己的服务器上工作时)我应该考虑链表还是 getaddrinfo 总是 return 一个元素的链表?

getaddrinfo() 的重点是获取 IP 列表。

如果您请求将特定 IP 地址作为输入,则生成的列表将仅包含同一 IP 的 1 个元素。

如果您请求将主机名作为输入,结果列表将包含主机名解析到的每个 IP 的元素。

如果您根本不请求 IP/hostname,生成的列表将取决于是否使用了 AI_PASSIVE 标志。如果使用该标志,列表将包含 0.0.0.0 and/or ::0 的元素,具体取决于请求的 ai_family。如果未使用该标志,则列表将包含 127.0.0.1 and/or ::1 的元素,具体取决于请求的 ai_family