#include
#include
#include
#include
#include
intmain(intargc,char**argv)
/*printofficialhostname*/
printf("offialhostname:%s/n",hptr->h_name);
/*printallthealiasesofthehost*/
for(pptr=hptr->h_aliases;*pptr!=null;pptr++)
printf("alias:%s/n",*pptr);
/*printipaddress*/
switch(hptr->h_addrtype)
else
default:
printf("unknownaddresstype%d/n",hptr->h_addrtype);
return(null);
}return0; }
struct hostent *gethostbyname(const char *name);
這個函式的傳入值是網域名稱或者主機名,例如"
www.google.com","wpc
"等等。
傳出值,是乙個hostent的結構(如下)。如果函式呼叫失敗,將返回null。
struct hostent ;
解釋一下這個結構:
其中,char *h_name 表示的是主機的規範名。例如
www.google.com
的規範名其實是
www.l.google.com
。char **h_aliases 表示的是主機的別名。
www.google.com
就是google他自己的別名。有的時候,有的主機可能有好幾個別名,這些,其實都是為了易於使用者記憶而為自己的**多取的名字。
int h_addrtype 表示的是主機ip位址的型別,到底是ipv4(af_inet),還是ipv6(af_inet6)
int h_length 表示的是主機ip位址的長度
int **h_addr_lisst 表示的是主機的ip位址,注意,這個是以網路位元組序儲存的。千萬不要直接用printf帶%s引數來打這個東西,會有問題的哇。所以到真正需要列印出這個ip的話,需要呼叫inet_ntop()。
const char *inet_ntop(int af, const void *src, char *dst, socklen_t cnt) :
這個函式,是將型別為af的網路位址結構src,轉換成主機序的字串形式,存放在長度為cnt的字串中。
這個函式,其實就是返回指向dst的乙個指標。如果函式呼叫錯誤,返回值是null。
伺服器hostname命名規範彙總
目前,小組伺服器的hostname沒有乙個標準,通常情況是沿用雲機id。若遇到hostname都是localhost,則修改hostname會比較困惑。特別注意,hostname修改操作只針對新機器,不能動生產的伺服器。因calico依賴hostname,故hostname變更會引起三層虛擬網路斷開...
Linux名字伺服器 named 簡單配置
今天要搭乙個網域名稱解析系統的測試環境,看了一下named的使用手冊,就能利用named搭出來乙個簡單的dns伺服器。一 命令和引數 named是乙個命令列程式,是linux的dns伺服器,基於rfcs 1033,1034和1035設計,命令列的引數如下 named c config file d ...
伺服器效能由哪些方面決定
伺服器的重要對於站長來說是不言而喻的,伺服器的選擇當然也要看所處的機房了,選擇價效比高的伺服器是每個站長所追求的,對於影響伺服器效能的因素,站長們是否了解呢?面對市場多如牛毛的伺服器託管商家,我們該如何擦亮雙眸呢?專職優化 網域名稱註冊 空間 虛擬主機 伺服器託管 vps主機 伺服器租用的3a網路小...