1.htonl ()和ntohl( ) u_long PASCAL FAR ntohl (u_long netlong); u_short PASCAL FAR ntohs (u_short netshort); ntohl( )-----网络顺序转换成主机顺序 u_long PASCAL FAR htonl (u_long hostlong); u_short PASCAL FAR htons (u_short hostshort); htonl ()-----主机顺序转换成网络顺序 2.in…
名词解析: 主机字节序: 不同的CPU有不同的字节序类型,这些字节序是指整数在内存中保存的顺序,这个叫做主机序.最常见的有两种 1.Little endian:低字节存高地址,高字节存低地址 2.Big endian:低字节存低地址,高字节存高地址 网络字节序: 网络字节顺序是TCP/IP中规定好的一种数据表示格式,它与具体的CPU类型.操作系统等无关,从而可以保证数据在不同主机之间传输时能够被正确解释.网络字节顺序采用big endian排序方式. 为了进行转换bsd socket提供了转换的…
1.htonl ()和ntohl( ) u_long PASCAL FAR ntohl (u_long netlong); u_short PASCAL FAR ntohs (u_short netshort); ntohl( )-----网络顺序转换成主机顺序 u_long PASCAL FAR htonl (u_long hostlong); u_short PASCAL FAR htons (u_short hostshort); htonl ()-----主机顺序转换成网络顺序 2.in…
1.htonl ()和ntohl( )  ntohl( )-----网络顺序转换成主机顺序(长整型) u_long PASCAL FAR ntohl (u_long netlong); htonl ()-----主机顺序转换成网络顺序 (长整型) u_long PASCAL FAR htonl (u_long hostlong); 2.htons ()和ntohs( ) htons()------主机顺序转换成网络顺序(短整型) u_short PASCAL FAR htons (u_short…
aa 相关函数原型及参数类型: 函数原型:int inet_aton(const char *cp, struct in_addr *inp); in_addr_t inet_addr(const char *cp); in_addr_t inet_network(const char *cp); char *inet_ntoa(struct in_addr in); struct in_addr inet_makeaddr(int net, int host); in_addr_t inet_…
Socket中常见的几个转换函数(htonl,htons,ntohl,ntohs,inet_addr,inet_ntoa) htonl() htons() ntohl() ntohs()及inet_ntoa() inet_addr()的用法 注:其中的h表示“host”,n表示“net”,l表示“long”, s表示“short”a表示“ascii”,ddr表示“in_addr结构体” 现在我们很幸运,因为我们有很多的函数来方便地操作 IP 地址.没有 必要用手工计算它们,也没有必要用"一个so…
inet_pton NAME     inet_pton - 将 IPv4 和 IPv6 地址从点分十进制转换为二进制 SYNOPSIS #include <arpa/inet.h> int inet_pton(int af, const char *src, void *dst); DESCRIPTION     该函数将字符串src转换为af地址类型协议簇的网络地址,并存储到dst中.对于af参数,必须为AF_INET或AF_INET6 RETURN VALUE     inet_pton…
在计算机设计之初,对内存中数据的处理也有不同的方式,(低位数据存储在低位地址处或者高位数据存储在低位地址处),然而,在通信的过程中(ISO/OSI模型和TCP/IP四层模型中),数据被一步步封装(然后加入信息首部),当传到目的段时,被一步步解封,然后获取数据.从上面我们可以看出,数据在传输的过程中,一定有一个标准化的过程,也就是说:从主机a到主机b进行通信,a的固有数据存储-------标准化--------转化成b的固有格式如上而言:a或者b的固有数据存储格式就是自己的主机字节序,上面的标准化…
socket编程基础 网络IP操作函数 字符串的IP和32位的IP转换 #include <sys/socket.h> #inlcude <netinet/in.h> #include <arpa/inet.h> int inet_aton(const char *cp, struct in_addr *inp); in_addr_t inet_addr(const char *cp); in_addr_t inet_network(const char *cp); c…
转载:http://blog.csdn.net/ithomer/article/details/6100734 知识背景: 210.25.132.181属于IP地址的ASCII表示法,也就是字符串形式.英语叫做IPv4 numbers-and-dots notation. 如果把210.25.132.181转换为整数形式,是3524887733,这个就是整数形式的IP地址.英语叫做binary data.(其实binary是二进制的意思) 详细介绍,请参考: 网络字节序与主机字节序的转换 问题所…