in_addr 用来表示一个32位的IPv4地址。
struct in_addr {
in_addr_t s_addr;
};
结构体in_addr 用来表示一个32位的IPv4地址.
in_addr_t 一般为 32位的unsigned long.
其中每8位代表一个IP地址位中的一个数值.
例如192.168.3.144记为0xc0a80390,其中 c0 为192 ,a8 为 168, 03 为 3 , 90 为 144
打印的时候可以调用inet_ntoa()函数将其转换为char *类型.
addr_in_addr -IP结构体的使用
struct in_addr
{
union
{
struct
{
u_char s_b1,s_b2,s_b3,s_b4;
} S_un_b; //An IPv4 address formatted as four u_chars.
struct
{
u_short s_w1,s_w2;
} S_un_w; //An IPv4 address formatted as two u_shorts
u_long S_addr;//An IPv4 address formatted as a u_long
} S_un;
};
addr_in_addr -代码中的in_addr
server.sin_addr=*((in_addr *)he->h_addr);