壓socket嶄聞喘囃兆
<貧匯准
和匯准>
人薩極嶄岷俊聞喘IP仇峽氏嗤載寄議益極?匯稀IP仇峽延晒?IP仇峽氏将械延強??人薩極罷周祥氏竃孖危列。
遇聞喘囃兆氏圭宴載謹?廣過朔議囃兆峪勣耽定偬継祥喟垓奉噐徭失議?厚算IP仇峽扮俐個囃兆盾裂軸辛?音氏唹峒罷周議屎械聞喘。
購噐囃兆廣過、囃兆盾裂、host 猟周、DNS 捲暦匂吉云准旺隆峋聾讐盾?萩響宀徭佩辻温。云准嶷泣讐盾泌採聞喘囃兆。
gethostbyname() 痕方辛參頼撹宸嶽廬算?万議圻侏葎?
hostent 潤更悶延楚議怏撹泌和夕侭幣?
和中議旗鷹麼勣處幣 gethostbyname() 議哘喘?旺傍苧 hostent 潤更悶議蒙來?
Aliases 1: www.baidu.com
Address type: AF_INET
IP addr 1: 61.135.169.121
IP addr 2: 61.135.169.125
遇聞喘囃兆氏圭宴載謹?廣過朔議囃兆峪勣耽定偬継祥喟垓奉噐徭失議?厚算IP仇峽扮俐個囃兆盾裂軸辛?音氏唹峒罷周議屎械聞喘。
購噐囃兆廣過、囃兆盾裂、host 猟周、DNS 捲暦匂吉云准旺隆峋聾讐盾?萩響宀徭佩辻温。云准嶷泣讐盾泌採聞喘囃兆。
宥狛囃兆資函IP仇峽
囃兆叙叙頁IP仇峽議匯倖廁芝憲?朕議頁圭宴芝吮?宥狛囃兆旺音嬬孀欺朕炎柴麻字?宥佚岻念駅倬勣繍囃兆廬算撹IP仇峽。gethostbyname() 痕方辛參頼撹宸嶽廬算?万議圻侏葎?
struct hostent *gethostbyname(const char *hostname);hostname 葎麼字兆?匆祥頁囃兆。聞喘乎痕方扮?峪勣勧弓囃兆忖憲堪?祥氏卦指囃兆斤哘議IP仇峽。卦指議仇峽佚連氏廾秘 hostent 潤更悶?乎潤更悶議協吶泌和?
struct hostent{
char *h_name; //official name
char **h_aliases; //alias list
int h_addrtype; //host address type
int h_length; //address lenght
char **h_addr_list; //address list
}
貫乎潤更悶辛參心竃?音峪卦指IP仇峽?珊氏現揮凪麿佚連?光了響宀峪俶購廣恷朔匯倖撹埀 h_addr_list。和中頁斤光撹埀議傍苧?
- h_name?郊圭囃兆?Official domain name?。郊圭囃兆旗燕蝶匯麼匈?徽糞縞貧匯乂广兆巷望議囃兆旺隆喘郊圭囃兆廣過。
- h_aliases?艶兆?辛參宥狛謹倖囃兆恵諒揖匯麼字。揖匯IP仇峽辛參鰯協謹倖囃兆?咀緩茅阻輝念囃兆珊辛參峺協凪麿囃兆。
- h_addrtype?gethostbyname() 音叙屶隔 IPv4?珊屶隔 IPv6?辛參宥狛緩撹埀資函IP仇峽議仇峽怛?仇峽窃侏?佚連?IPv4 斤哘 AF_INET?IPv6 斤哘 AF_INET6。
- h_length?隠贋IP仇峽海業。IPv4 議海業葎4倖忖准?IPv6 議海業葎16倖忖准。
- h_addr_list?宸頁恷嶷勣議撹埀。宥狛乎撹埀參屁方侘塀隠贋囃兆斤哘議IP仇峽。斤噐喘薩熟謹議捲暦匂?辛嬬氏蛍塘謹倖IP仇峽公揖匯囃兆?旋喘謹倖捲暦匂序佩譲財減墮。
hostent 潤更悶延楚議怏撹泌和夕侭幣?
和中議旗鷹麼勣處幣 gethostbyname() 議哘喘?旺傍苧 hostent 潤更悶議蒙來?
#include <stdio.h>
#include <stdlib.h>
#include <WinSock2.h>
#pragma comment(lib, "ws2_32.lib")
int main(){
WSADATA wsaData;
WSAStartup( MAKEWORD(2, 2), &wsaData);
struct hostent *host = gethostbyname("www.baidu.com");
if(!host){
puts("Get IP address error!");
system("pause");
exit(0);
}
//艶兆
for(int i=0; host->h_aliases[i]; i++){
printf("Aliases %d: %s\n", i+1, host->h_aliases[i]);
}
//仇峽窃侏
printf("Address type: %s\n", (host->h_addrtype==AF_INET) ? "AF_INET": "AF_INET6");
//IP仇峽
for(int i=0; host->h_addr_list[i]; i++){
printf("IP addr %d: %s\n", i+1, inet_ntoa( *(struct in_addr*)host->h_addr_list[i] ) );
}
system("pause");
return 0;
}
塰佩潤惚?Aliases 1: www.baidu.com
Address type: AF_INET
IP addr 1: 61.135.169.121
IP addr 2: 61.135.169.125
<貧匯准
和匯准>