运行时我想知道堆栈定义的struct sockaddr_storage是否已分配给任何IP地址(IPv4或IPv6)
有什么想法吗?
答案 0 :(得分:2)
检查ss_family
字段。 IPv4地址为AF_INET
,IPv6地址为AF_INET6
。然后,您可以相应地将sockaddr_storage
输入sockaddr_in
或sockaddr_in6
,以便分别访问sockaddr_in::sin_addr
或sockaddr_in6::sin6_addr
字段,以确保它未设置为零。