【网络编程】域名解析
项目中有这种场景:C/S通过RPC方式通信。服务端提供一个域名(如:www.xxx.xxx.com),客户端每次请求需要将该域名转换成相应的IP,然后才可以发起请求。这里做一个小小的总结。 #include <stdio.h> #include <unistd.h> #include <netdb.h> #include <arpa/inet.h> #include <errno.h> int main(int argc, char *argv[]) { // 域名解析 char host_name[256] = "www.test.xxx.xxx.com"; // xxx应替换成实际域名 struct hostent *hptr; hptr = gethostbyname(host_name); if(NULL == hptr) { perror("dsn error"); exit(1); } char ip[256] = {0,}; if(NULL == inet_ntop(hptr->h_addrtype, hptr->h_addr, ip, sizeof(ip))) // 项目中一般是这个,首选IP { perror("inet_ntop error."); exit(1); } printf("ip:%s\n", ip); return 0; } 编译并运行: gcc