学习网络编程的一些小笔记 inet_addr和htons
sockaddr_in service;service.sin_family = AF_INET;
service.sin_addr.s_addr = inet_addr("127.0.0.1");
service.sin_port = htons(12345);
在学习网络编程的时候 对
inet_addr 和htons不太熟悉 记录一下~
简述:将一个点间隔地址转换成一个in_addr。
#include <winsock.h>
unsigned long PASCAL FAR inet_addr( const struct FAR* cp);
cp:一个以Internet标准“.”间隔的字符串
若无错误发生,inet_addr()返回一个无符号长整型数,其中以适当字节顺序存放Internet地址。
如果传入的字符串不是一个合法的Internet地址,如“a.b.c.d”地址中任一项超过255,那么inet_addr()返回INADDR_NONE。在IP只有一部分时(即没有 ”.“ 时),IP的字符串如果只由数字组成,inet_addr()不检查数字是否大于255。
——————————————————————————————————————————————————————
还有
htons 这个函数 转换端口用的-.-
将主机的无符号短整形数转换成网络字节顺序
返回值:
htons()返回一个网络字节顺序的值。
简单地说,htons()就是将一个数的高低位互换
1. Little endian:将低序字节存储在起始地址
这是 主机字节序
2. Big endian:将高序字节存储在起始地址
这是 网络字节序
页:
[1]