代码改变世界

结构体sockadrr、sockaddr_in、in_addr的定义

  ljtcnblogs  阅读(996)  评论(0编辑  收藏  举报

/* 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,二者可以进行类型转换

 

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
历史上的今天:
2016-08-08 汇编指令缩写
点击右上角即可分享
微信分享提示