在C/C++写网络程序的时候,往往会遇到字节的网络顺序和主机顺序的问题。这是就可能用到htons(), ntohl(), ntohs(),htons()这4个函数。
网络字节顺序与本地字节顺序之间的转换函数:
htonl()--"Host to Network Long" ntohl()--"Network to Host Long" htons()--"Host to Network Short" ntohs()--"Network to Host Short"
之所以需要这些函数是因为计算机数据表示存在两种字节顺序:NBO与HBO
网络字节顺序NBO(Network Byte Order):
主机字节顺序(HBO,Host Byte Order):
int main() { printf("%d \n",htons(16)); return 0; }
得到的结果是4096,初一看感觉很怪。
包含的头文件为:"winsock2.h"
原文地址:http://blog.chinaunix.net/uid-21278406-id-444362.html
原文:https://www.cnblogs.com/6-6-8-8/p/9264944.html