【发布时间】:2010-02-10 21:23:56
【问题描述】:
我有一个 struct sockaddr 并且需要创建一个 struct addrinfo(特别是那个,因为这是其他一些 API 想要的)。 IP 地址可以是 IPv4 或 IPv6。最好的处理方法是什么?
【问题讨论】:
标签: c networking sockets
我有一个 struct sockaddr 并且需要创建一个 struct addrinfo(特别是那个,因为这是其他一些 API 想要的)。 IP 地址可以是 IPv4 或 IPv6。最好的处理方法是什么?
【问题讨论】:
标签: c networking sockets
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 正在寻找什么。
【讨论】: