【发布时间】:2014-03-24 14:16:27
【问题描述】:
我使用getnameinfo如下:
ifaddrs *ifaddr = NULL, *ifa = NULL;
int rc, family, insize;
rc = getifaddrs(&ifaddr);
...
for (ifa = ifaddr; ifa != NULL; ifa = ifa->ifa_next) {
family = ifa->ifa_addr->sa_family
insize = (family == AF_INET) ?
(int)sizeof(struct sockaddr_in) :
(int)sizeof(struct sockaddr_in6);
char host[HOST_NAME_MAX];
rc = getnameinfo(ifa->ifa_addr, insize,
host, sizeof(host), NULL, 0, NI_NUMERICHOST);
}
...
当函数返回 IPv6 地址时,它包括附加到数字 IP 地址的接口:
fe80::62a4:4cff:fe05:dc1b%eth0
将接口附加到数字 IP 地址的目的是什么?
是否有可用的标志来控制将接口附加到 IP 地址?
【问题讨论】:
标签: linux network-programming ip ipv6