- 论坛徽章:
- 0
|
《1》inet_addr(): 简述:将一个点间隔地址转换成一个in_addr,返回一网络字节顺序表示的Internet地址。使用:server_addr.sin_addr.s_addr = inet_addr("192.168.0.10");
《2》inet_aton()将字符串表示的网络地址转换为该地址数值的整数表示,返回的数字总是按照网络字节顺序的。
inet_addr与inet_aton的区别:inet_aton认为255.255.255.255是无效的,不能对这个地址操作。而inet_addr可以。
《3》inet_ntoa()给定一个数字网络地址,返回作为字符串的该地址的电地址表示。
《4》htons或htonl将以主机字节顺序的数转换为一网络字节书序表示的数。htons转16位的(host to network short), htonl转32位的(host to network long);通常用法: server_addr.sin_port = htons(2222); //端口号 server_addr.sin_addr.s_addr = htonl(INADDR_ANY); //INADDR_ANY=0所以等效于 server_addr.sin_addr.s_addr = INADDR_ANY;
INADDR_ANY: 表示任意的IP地址,一般为内核指定的,大多数系统取0。htonl()简单说是一个把本机IP转化为网络协议中规定的格式的函数.也就是所谓的大端模式或小端模式。
《5》inet_pton、inet_ntop
《6》所以只需要记住inet_aton()、inet_ntoa() 和 htons()就可以了。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/103431/showart_2047510.html |
|