Linux网络编程——域名解析
相关函数及结构体
#include <netdb.h>
struct hostent *gethostent(void);
struct hostent *gethostbyname(const char *hostname);
//详情参见备注2
void sethostent(int stayopen);
void endhostent(void);
struct hostent{
char *h_name; /*正式主机名*/
char **h_aliases; /*别名,字符串数组*/
int h_addrtype; /*协议类型*/
int h_length; /*网络地址大小*/
char **h_addr_list; /*指向网络地址的指针*/
};
备注
- 在linux操作系统中,
/etc/hosts
文件设置了IP地址和域名的映射关系。修改该文件需超级用户,即sudo vi /etc/hosts
- gethostbyname()函数在多线程中存在不稳定的情况,且只支持IPV4的网络地址。