网络编程 笔记(四) 地址族 数据序列
2015-10-13 17:37
309 查看
IP是Internet Protocol(网络协议)的简写,是为收发网络数据而分配给计算机的值。
IPv4(Internet Protocol version 4) 4字节地址族
IPv6(Internet Protocol version 6) 16字节地址族
路由器、交换机实际上也是一种计算机,用来完成外网与本网主机之间的数据交换。交换机比路由器功能要简单一些,实际用途差别不大。
端口号就是在同一操作系统内为区分不同套接字而设置的,因此无法将一个端口号分配给不同套接字。端口号由16位组成,可分配的端口号范围是0~65535;TCP和UDP套接字不会共用端口号,所以允许重复。
在通过网络传输数据时约定同一方式,这种约定称为网络字节序(Network Byte Order)非常简单–统一为大端序
大端序,高位字节存放到地位地址
小端序,高位字节存放到高位地址
字节序转换,转换字节序的函数
1、
2、
3、
4、
5、htons中的h代表主机(host)字节序
6、htons中的n代表(network)字节序
7、s指short,l指long,linux中long类型占用4个字节
8、这句的意思是”把short型数据从主机字节序转化为网络字节序“。
函数
1、成功时返回32位大端序整数型值,失败时返回INADDR_NONE。
2、此函数在转换类型的同时进行网络字节序转换。
同一计算机中可以分配多个IP地址,实际IP地址的个数与计算机中安装的NIC的数量相等。若只有一个NIC,则直接使用INADDR_ANY
IPv4(Internet Protocol version 4) 4字节地址族
IPv6(Internet Protocol version 6) 16字节地址族
路由器、交换机实际上也是一种计算机,用来完成外网与本网主机之间的数据交换。交换机比路由器功能要简单一些,实际用途差别不大。
端口号就是在同一操作系统内为区分不同套接字而设置的,因此无法将一个端口号分配给不同套接字。端口号由16位组成,可分配的端口号范围是0~65535;TCP和UDP套接字不会共用端口号,所以允许重复。
在通过网络传输数据时约定同一方式,这种约定称为网络字节序(Network Byte Order)非常简单–统一为大端序
大端序,高位字节存放到地位地址
小端序,高位字节存放到高位地址
字节序转换,转换字节序的函数
1、
unsigned short htons(unsigned short);
2、
unsigned short ntohs(unsigned short);
3、
unsigned long htonl(unsigned long);
4、
unsigned long ntohl(unsigned long);
5、htons中的h代表主机(host)字节序
6、htons中的n代表(network)字节序
7、s指short,l指long,linux中long类型占用4个字节
8、这句的意思是”把short型数据从主机字节序转化为网络字节序“。
函数
inet_addr(const char* string);
1、成功时返回32位大端序整数型值,失败时返回INADDR_NONE。
2、此函数在转换类型的同时进行网络字节序转换。
同一计算机中可以分配多个IP地址,实际IP地址的个数与计算机中安装的NIC的数量相等。若只有一个NIC,则直接使用INADDR_ANY
相关文章推荐
- Http中Get/Post请求区别
- Windows 下单机最大TCP连接数
- SDWebImage 加载网络图片失败,重新运行,就能加载成功。
- Linux下配置https安全连接(ssl加密连接)
- IOS网络笔记--xml解析之一(sax解析)
- Linux上的基础网络设备详解
- 计算机网络(一)big_endian,little_endian, ip数据报头
- 《UNIX网络编程》daytimetcpcli测试
- 计算机网络(三)http状态码大全
- 《深入理解Linux网络技术内幕》阅读笔记(二十七)
- Android 获取手机网络、SIM卡等信息
- HttpsURLConnection访问HTTPS链接时信任所有证书
- IP大时代下,网络枪机技术发展现状
- HTTP access control (CORS)
- 如何设计与优化高性能的HTTP接口型应用?
- 【GOLANG】http请求代码
- 请求网络连接工具类
- 【Android-010】【HttpClient使用】
- CentOS 使用SVN https 问题及解决方案
- 复杂网络相关资源,持续更新……