![](/img/trans.png)
[英]What is the difference between struct addrinfo and struct sockaddr
[英]How to produce struct addrinfo from struct sockaddr?
我有一个struct sockaddr并且需要创建一个struct addrinfo(特别是那个,因为这是其他一些API想要的)。 IP地址可以是IPv4或IPv6。 处理这个问题的最佳方法是什么?
struct addrinfo {
int ai_flags;
int ai_family;
int ai_socktype;
int ai_protocol;
size_t ai_addrlen;
struct sockaddr *ai_addr;
char *ai_canonname;
struct addrinfo *ai_next;
};
struct addrinfo
包含的信息不仅仅是struct sockaddr
信息。 给定struct sockaddr_in
,您可以获得一些这些信息( .ai_family = AF_INET, .ai_addrlen = sizeof(struct sockaddr_in)
)。 这是否足够取决于其他API正在寻找什么。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.