网络编程;TCP/IP协议,和 网络编程相关概念;字节序转换;0908
思维导图
字节序转换
代码
#include<stdio.h>
#include<arpa/inet.h>
int main()
{uint32_t hostlong=0x12344678;//主机字节序 4字节 longuint32_t netlong= htonl(hostlong);//转换为 网络字节序 4字节 printf("hostlong=%#x\n",hostlong);printf("netlong =%#x\n",netlong);uint16_t hostshort=0x1234;//主机字节序 2字节uint16_t netshort=htons(hostshort);//转换为 网络字节序 2字节printf("hostshort=%#x\n",hostshort);printf("netshort =%#x\n",netshort);return 0;
}
ip地址点分十进制和网络字节序转换
代码
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<stdio.h>int main()
{//人类可读的 ip地址 形式char *cp="192.168.108.56";//点分十进制的形式in_addr_t np=inet_addr(cp);//转换为 网络字节序 的 4位无符号整形printf("cp=%s\n",cp);printf("np=%#x\n",np);return 0;
}
牛客