DNS (Domain Name System) Back
- 作用: IP地址的別名, 便於記憶
- 結構: 域名層次樹
域名訪問
1. 域名到IP的轉換
- 對同一個DNS服務器兩次調用所返回的IP地址列表順序有可能不同.
- 在不同的DNS服務器上查詢, 返回結果不同.
- 查詢失敗時, 可以通過hstrerror()查找h_errno的信息.
- 由於查詢是逐級的, 建議採用多進程(線程)來縮短時間消耗.
method
struct hostent* gethostbyname(const char* name)
struct hostent
{
char h_name;
char** h_aliases;
int h_addrtype;
int h_length;
char** h_addr_list;
}
parameters
2. IP到域名的轉換
method
struct hostent* gethostbyaddr(const char* addr, size_t len, int family)
struct hostent
{
char h_name;
char** h_aliases;
int h_addrtype;
int h_length;
char** h_addr_list;
}
parameters
- addr: 地址
- len: 地址長度
- family: 地址的協議簇