struct in_addr{
in_addr_t s_addr;
};
结构体in_addr表示一个32位IP地址的结构体
其中每8位代表一个IP地址位中的一个数值
例如192.e168.3.144记为0xc0a80390,其中 c0 为192 ,a8 为 168, 03 为 3 , 90 为 144
打印的时候可以调用
inet_ntoa()函数将其转换为char *类型.
打印的时候用printf("the ip addr is %s\n",inet_ntoa(sockaddr_in.in_addr));来打印点分IP地址
表示一个主机的端口地址(包括IP地址和端口号)的结构体是struct sockaddr 这个结构体可以由struct sockaddr_in等其他地址结构体强制转换而来。
struct sockaddr_in
{
sa_family_t sin_family;
in_port_t sin_port;
struct in_addr;
unsigned char sin_zero[8];
}
socket结构体中含有这个struct sockaddr地址。