网络字节序 - 大端
- 发送主机将发送缓冲区中的数据按内存地址从低到高的顺序发出
- 接收主机把从网络上接收到的数据按内存地址从底到高的顺序依次保存到接收缓冲区
- TCP/IP 协议规定,网络数据流应采用大端字节序,即低地址高字节,也就是说,不管主机是大端机还是小端机,都会按照这个规定的网络字节序来发送/接收数据,如果发送主机是小端机,就需要先将数据转成大端,否则直接发送即可
#include <arpa/inet.h>功能:主机字节序转网络字节序(大端)
uint32_t htonl(uint32_t hostlong);
uint16_t htons(uint16_t hostshort);功能:网络字节序(大端)转主机字节序
uint32_t ntohl(uint32_t netlong);
uint16_t ntohs(uint16_t netshort);