1.网络预备知识1
TCP/IP网络编程预备知识
1.SOCKET
1.1.1 socket是一个应用编程的接口,它是一种特殊的文件描述符(对他执行IO的操作函数,比如read(),write(),close()等操作函数)
1.1.2 socket代表着网络编程的一种资源
1.1.3 socket的类型:
2.IP地址
IP地址分为IPv4和IPv6(IPv6拓展了IPv4地址不够用的问题)
IPV4: 采用32位整数来表示
IPV6:采用128位整数来表示
mobileIPV6: local IP(本地注册的IP),roam IP(漫游IP)
2.网络预备知识2
IPV4有两种表现形式:
点分形式:192.168.7.246(需要16个字节)
32位整数: (需要4个字节)
特殊的IP地址:
端口号:为了区分一台主机接收到的数据包应该交给哪个任务来处理
网络里面的通信是由 IP地址+端口号决定的
3.网络预备知识3
字节序:是指不同类型CPU访问内存中的多字节数据时候,存在大小端问题
如果CPU访问的是字符串,则不存在大小端的问题
网络传输使用大端模式
1.发送端是大端模式,接收端是小端模式;如果发送端不进行字节序的转换,那么这个应用程序运行到发送端是小端模式的主机上之后,网络传输就会有问题,比如说网络传输过程中的中间设备不能正确的读取收发端的IP地址和MAC地址;
2. 发送端是小端模式,接收端是大端模式;如果接收端不进行字节序的转换,而且发送端还传输了多字节的数据的话,那么这个应用程序运行到接收端是小端模式的主机上之后,接收端接收到的数据就会有问题;
————————————————
版权声明:本文为CSDN博主「Epley」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m198984/article/details/105001581
系统中提供的主机字节序和网络字节序转换的函数