struct sockaddr{
unsigned short sa_family; //address family ,AF_XXX
char sa_data[14]; //14 bytes of protocol address
};
struct sockaddr_in{
short int sin_family; //address family AF_INET
unsigned short int sin_port; //port number
struct in_addr sin_addr; //internet address
unsigned char sin_zero[8]; //same size as struct sockaddr
};
struct in_addr{
unsigned long s_addr; //internet address
};
struct sockaddr_in6{
sa_family_t sin6_family; //AF_INET6
in_port_t sin6_port; //transport layer port
uint32_t sin6_flowinfo; //ipv6 traffic class & flow info
struct in6_addr sin6_addr; //ipv6address;
uint32_t sin6_scope_id; //set of interfa