1.IPV4套接字地址(#include <netinet/in.h>)
struct in_addr { in_addr_t s_addr; /* 32-bits IPV4 address network byte ordered <netinet/in.h> */ }; struct sockaddr_in { uint8_t sin_len; sa_family_t sin_family; //uint8_t <sys/socket.h> in_port_t sin_port; //uint16_t struct in_addr sin_addr; char sin_zero[8]; };
2.通用套接字地址
struct sockaddr { uint8_t sa_len; sa_family_t sa_family; char sa_data[14] };
3.IPV6套接字地址
struct in6_addr { uint8_t s6_addr[16]; /*128-bit IPV6 address*/ }; #define SIN6_LEN struct sockaddr_in6 { uint8_t sin6_len; sa_family_t sin6_family; //AF_INET6 in_port_t sin6_port; //uint16_t uint32_t sin6_flowinfo; struct in6_addr sin6_addr; uint32_t sin6_scope_id; };