(一)提出问题:为什么需要主机字节序和网络字节序的存在? 目前,大多数PC机是小端序(小端序),也称为主机端序; 但是,不排除大型PC机的存在。 如果在两台字节序不同的主机上传输数据,接收方会错误地解释。 例如,小端序的主机将0x0001(2字节的十进制数据1 )发送到大端序的机器并接收和处理的数据是0x0100(2) 2字节的十进制数据256,并且数据输出被错误地解释
因此,解决该问题的方案是,发送侧总是将发送的数据转换成大端来传输,接收侧知道对方的数据采用大端来传输,接收侧是否根据自己的端来转换这样就保证了数据解释的正确性! 呃! (二)端序转换API )1) IP地址转换器https://editor.csdn.net/MD /?https://articleId=121629586
)2)端口号转换头文件) arpa/inet.h
理解记忆: htonl缩写: host to net long主机转移到网络长度整数型
函数说明uint32_thtonl(uint32_thostlong ); 主机端序网络端序(long int ) uint 16 _ th tons (uint 16 _ t hostshort ); 主机端序(网络端序) uint 32 _ t ntohl (uint 32 _ tnet long ); 网络中的端序主机端序(long int ) uint 16 _ t ntohl (uint 16 _ t netshort ); 网络端序主机端序(short )返回值:全部转换后的结果