tcp套接字地址

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;
};
原文地址:https://www.cnblogs.com/weiyouqing/p/13630349.html