【发布时间】:2012-06-28 09:06:46
【问题描述】:
我想使用 getaddrinfo() 读取所有地址(IPv4 和 IPv6)。 我的问题是 getaddrinfo() 是否在列表中返回 IPv6 地址,后跟 IPv4。 假设我将 AF_UNSPEC 传递给 getaddrinfo() 并使用双堆栈。
【问题讨论】:
-
测试时它会做什么?文件怎么说?答案可能是“无法保证输出的顺序”。
-
目标地址排序规则在RFC 3484 的第6 节中有详细说明,但我不确定典型的
getaddrinfo()实现是否真的遵循这一点。这些规则需要预测内核将使用哪个源地址来到达特定的目标地址,而这又取决于查询内核以获取实际可用的源地址列表并找出内核的源地址选择算法是如何定制的.getaddrinfo()真的做到这些了吗?
标签: ipv6 getaddrinfo