zoukankan      html  css  js  c++  java
  • 结构体sockadrr、sockaddr_in、in_addr的定义

    /* Internet address.  */
    typedef uint32_t in_addr_t;
    struct in_addr
      {
        in_addr_t s_addr;
      };
     
    typedef unsigned short int sa_family_t;
    #define __SOCKADDR_COMMON(sa_prefix)
       sa_family_t sa_prefix##family
     
    /* Structure describing an Internet socket address.  */
    struct sockaddr_in
      {
        __SOCKADDR_COMMON (sin_);
        in_port_t           sin_port;                  /* Port number.  */
        struct in_addr   sin_addr;                 /* Internet address.  */
        unsigned char  sin_zero[sizeof (struct sockaddr) - __SOCKADDR_COMMON_SIZE - sizeof (in_port_t) - sizeof (struct in_addr)];
                                                                 /* Pad to size of `struct sockaddr'.  */
      };
     
    typedef unsigned short    sa_family_t;
    /*1003.1g requires sa_family_t and that sa_data is char. */
    struct sockaddr {
        sa_family_t    sa_family;        /* address family, AF_xxx    */
        char               sa_data[14];    /* 14 bytes of protocol address    */
    };

     

    struct sockaddr是通用的socket地址,struct sockaddr_in是Internet socket,二者可以进行类型转换

     

  • 相关阅读:
    9、 docker容器数据卷
    第十八章 MySQL数据库优化
    第十七章 MySQL的VIP漂移和Atlas
    第十六章 MHA高可用(续)
    第一章 shell基础
    第十五章 MHA高可用
    第十四章 MySQL的各种主从
    第十三章 MySQL的主从复制
    第十二章 MySQL的恢复与备份
    第十一章 MySQL日志详解
  • 原文地址:https://www.cnblogs.com/ljtknowns/p/7308512.html
Copyright © 2011-2022 走看看