国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁 > 營銷資訊 > 建站知識 > 域名系統(tǒng)gethostbyname函數(shù)&gethostbyaddr函數(shù)

域名系統(tǒng)gethostbyname函數(shù)&gethostbyaddr函數(shù)

時間:2023-02-24 14:36:01 | 來源:建站知識

時間:2023-02-24 14:36:01 來源:建站知識

域名系統(tǒng)gethostbyname函數(shù)&gethostbyaddr函數(shù):查找主機(jī)名最基本的函數(shù)是gethostbyname(),如果調(diào)用成功,就返回一個指向hostent結(jié)構(gòu)的指針,該結(jié)構(gòu)中含有所查尋主機(jī)的所有IPv4地址。getaddrinfo()函數(shù)能夠同時處理IPv4地址和IPv6地址。

函數(shù)原型:

#include <netdb.h>extern int h_errno;struct hostent *gethostbyname(const char *name);struct hostent { char *h_name; /* 查詢主機(jī)的規(guī)范名字 */ char **h_aliases; /* 別名 */ int h_addrtype; /* AF_INET */ int h_length; /* 4 */ char **h_addr_list; /* IPv4地址 */ }當(dāng)發(fā)生錯誤時,它不設(shè)置errno變量,而是設(shè)置全局變量h_errno。hstrerror()函數(shù)以h_errno為參數(shù),返回一個const char*指針,指向相應(yīng)錯誤的說明。

下面的程序,它為任意數(shù)目的命令行參數(shù)調(diào)用gethostbyname(),并顯示返回的所有信息。

運(yùn)行結(jié)果如下圖。

#include "unp.h"intmain(int argc, char **argv){ char *ptr, **pptr; char str[INET_ADDRSTRLEN]; struct hostent *hptr; while (--argc > 0) { ptr = *++argv; if ( (hptr = gethostbyname(ptr)) == NULL) { err_msg("gethostbyname error for host: %s: %s", ptr, hstrerror(h_errno)); continue; } printf("official hostname: %s/n", hptr->h_name); for (pptr = hptr->h_aliases; *pptr != NULL; pptr++) printf("/talias: %s/n", *pptr); switch (hptr->h_addrtype) { case AF_INET: pptr = hptr->h_addr_list; for ( ; *pptr != NULL; pptr++) printf("/taddress: %s/n", Inet_ntop(hptr->h_addrtype, *pptr, str, sizeof(str))); break; default: err_ret("unknown address type"); break; } } exit(0);}
gethostbyaddr()函數(shù)試圖由一個二進(jìn)制的IP地址找到相應(yīng)的主機(jī)名,與gethostbyname()相反,函數(shù)原型如下。

#include <netdb.h>#include <sys/socket.h>extern int h_errno;//struct hostent *gethostbyname(const char *name);struct hostent *gethostbyaddr(const void *addr,socklen_t len, int type);gethostbyaddr()返回也是一個指向hostent結(jié)構(gòu)的指針,gethostbyaddr()in_addr.arpa域中向一個名字服務(wù)器查詢PTR記錄。

參考文獻(xiàn):《UNIX網(wǎng)絡(luò)編程 卷1:套接字聯(lián)網(wǎng)API》

關(guān)鍵詞:函數(shù),系統(tǒng)

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉