我不能getaddrinfo(...)
用于解析主机名,因此必须坚持gethostbyname(...)
该gethostbyname(...)
函数是否保证在成功时返回仅包含 IPv4 (AF_INET) 地址的主机结构,以便以下代码始终导致 IPv4 地址:
int resolve(const char *name, struct in_addr *addr) {
struct hostent *he = gethostbyname(name);
if (!he)
return 1;
memcpy(addr,he->h_addr_list[0],4);
return 0;
}