只要数据大于2个字节,发数据时一定要转成大端。
htons:一般用于转换端口号,short,2字节
htonl:一般用于转换ip,long,4字节
ntohl:将网络大端数据转换成主机可以识别的顺序,long = 4字节
ntohs:将网络大端数据转换成主机可以识别的顺序,short = 2字节
book@100ask:~/linux/network/2.UDP$ cat htonl.c
#include <stdio.h>
#include <arpa/inet.h>
int main(int argc, char *argv[])
{int num = 0x01020304;int sum = htonl(num);printf("%x\n",sum);return 0;
}book@100ask:~/linux/network/2.UDP$ gcc htonl.c
book@100ask:~/linux/network/2.UDP$ ls
a.out htonl.cbook@100ask:~/linux/network/2.UDP$ ./a.out
4030201
book@100ask:~/linux/network/2.UDP$ vi