地址簇与数据序列

1、套接字构成

套接字=IP地址+端口号

2、地址信息的表示 

应用程序中使用的IP地址和端口号以结构体的形式给出了定义。 此结构体将作为地址信息传递给bindhans函数。

struct sockaddr_in
{
    sa_family_t sin_family;    //地址簇
    unit_16_t sin_port;        //端口号
    struct in_addr sin_addr;   //IP地址
    char sin_zero[8];          //不使用
};

struct in_addr
{
    In_addr_t s_addr;        //32位IPv4地址
};

sin_family存放dizh地址簇信息,每种xiey协议簇适用的地址簇均不同,AF_INET表示IPv4协议中使用的地址簇,AF_INET6表示IPv6协议中使用的地址簇,AF_LOCAL表示本地通信中采用的地址簇。

sin_port保存16位端口号,重点在于它以网络字节序保存。

sin_addr保存32位IP地址信息,也以网络字节序保存。

sin_zero无特殊意义,必须填充为0。

3、网络地址序与地址变换

存储字节序:一个多字节的变量在内存中的存储方式,变量的小端数据存储在内存起始位置是小端字节序;变量的大端数据存储在内存起始位置是大端字节序;

传输字节序:协议传输多字节变量时的传输方式,先传输大端字节的方式成为大端字节序;先传输小端字节的方式成为小端字节;网络协议使用大端字节序传输数据,USB协议使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值