(1)套接口地址结构和数据类型

<sys/types.h>
int8_t;    带符号的8位整数;
uint8_t;   无符号的8位整数;
int16_t;
uint16_t;
int32_t;
uint32_t;
sa_family_t    套接口地址结构的地址族;
socklen_t      套接口地址结构的地址族一般为uint16_t;

<nettinet/in.h>
in_addr_t      ipv4地址。一般为uint32_t;
in_port_t      TCP或UDP端口。一般为uint_16;

网际IPV4套接口地址结构sockaddr_in命名。
在<netinet/in.h>中
struct in_addr
{
in_addr_t     s_addr;          //32bit address ipv4
};
struct sockaddr_in
{
uint8_t       sin_len;          //length of structure
sa_family_t   sin_family;        //AF_INET   (ipv4地址族)
in_port_t     sin_port;          //16_bit TCP or UDP port number
struct inaddr sin_addr;     
char          sin_zero[8];       //unused
}; 

网际IPV6套接口地址结构in6_addr命名
在<netinet/in.h>中
struct in6_addr
{
uint8_t       s6_addr[16];       //128bit  address ipv6;
};
#define sockaddr_in6
{
uint8_t       sin6_len;           //length of this struct
sa_family_t   sin6_family;        //AF_INET6  (ipv6地址族)
in_port_t     sin6_port;          //transport layer port
uint32_t      sin6_flowinfo;      //priority flow label
struct in6_addr  sin6_addr;       //IPv6 address
};

定义在<sys/socket.h>中的一个通用套接口地址结构
struct sockaddr
{
uint8_t     sa_len;
sa_family   sa_family;    //address family;AF_XXXX value
char        sa_data[14];  //address
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值