在网络上标志一台机器可以用IP或者是用域名。那么我们怎么去进行转换呢?
struct hostent gethostbyname(const char hostname)
struct hostent gethostbyaddr(const char addr,int len,int type)
在中有struct hostent的定义
struct hostent{
char h_name; / 主机的正式名称 /
char h_aliases; / 主机的别名 /
int h_addrtype; / 主机的地址类型 AF_INET/
int h_length; / 主机的地址长度 对于IP4 是4字节32位/
char *h_addr_list; / 主机的IP地址列表 /
}
#define h_addr h_addr_list[0] / 主机的第一个IP地址*/
gethostbyname可以将机器名(如 linux.yessun.com)转换为一个结构指针.在这个结构里面储存了域名的信息
gethostbyaddr可以将一个32位的IP地址(C0A80001)转换为结构指针.
这两个函数失败时返回NULL 且设置h_errno错误变量,调用h_strerror()可以得到详细的出错信息
