時(shí)間:2023-02-18 20:28:01 | 來源:建站知識(shí)
時(shí)間:2023-02-18 20:28:01 來源:建站知識(shí)
一個(gè)域名可以解析出幾個(gè)IP地址,例如在訪問struct hostent *gethostbyname(const char *name);
函數(shù)的返回值為一個(gè)結(jié)構(gòu)體指針,這個(gè)結(jié)構(gòu)體的定義為:struct hostent { char *h_name; /* official name of host */ char **h_aliases; /* alias list */ int h_addrtype; /* host address type */ int h_length; /* length of address */ char **h_addr_list; /* list of addresses */}#define h_addr h_addr_list[0] /* for backward compatibility */
結(jié)構(gòu)體中的h_addr_list是一個(gè)數(shù)組,用于存放解析出的多個(gè)IP地址,但很少有程序員會(huì)去考慮多個(gè)IP地址的問題,通常直接使用宏h_addr來獲取IP地址,也就是第一個(gè)IP地址。#include <stdio.h>#include <netdb.h>#include <arpa/inet.h>#include <netinet/in.h>int main(){ struct hostent *host; struct in_addr h_addr; if ((host = gethostbyname("www.163.com")) != NULL) { h_addr.s_addr = *((unsigned long *) host->h_addr); printf("%s/n", inet_ntoa(h_addr)); } return 0;}
關(guān)鍵詞:訪問,服務(wù),對(duì)應(yīng),實(shí)際
客戶&案例
營銷資訊
關(guān)于我們
微信公眾號(hào)
版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。