前言:
网络编程是程序连接网络拓展的基础,尤其是在物联网、互联网加等概念火热的当下,网络编程能力体现了一个程序员能否具有大型程序的开发能力。这里通过详细例子解析hostent结构体,hostent是C语言标准库函数gethostbyname的返回值,gethostbyname是用来解析域名的重要函数,在程序的网络应用中经常需要将域名转换为IP地址,然后建立Socket与服务器进行数据交互。
hostent
struct hostent
{
char *h_name; //正式主机名
char **h_aliases; //主机别名
int h_addrtype; //主机IP地址类型:IPV4-AF_INET
int h_length; //主机IP地址字节长度,对于IPv4是四字节,即32位
char **h_addr_list; //主机的IP地址列表
};
使用hostent需要包含#include<netdb.h>和#include<sys/socket.h>等头文件,结构体hostent有五个元素,即h_name,它是一个字符指针,指向主机名;h_aliases是一个二重指针,指向主机的别名,一个主机可以有多个别名,h_aliases可以用下标的方式访问不同的主机别名;h_addrtype&#