inet_pton和htonl的区别
uint32_t htonl(unin32_t host32bitvalue);
参数是32bit的二进制数值,在转换地址时就是32位的主机字节序ip地址(经常用点分十进制)
用法:servaddr.sin_addr.s_addr=htonl(127.0.0.1);
servaddr.sin_addr.s_addr=htonl(INADDR_ANY); // INADDR_ANY真实值为0.0.0.0
int inet_pton(int family,const char *strptr,void *addrptr);
该函数完成两个功能:1.字符串->二进制数值 2.主机字节序->网络字节序(所以调用此函数后不需htonl了)
第二个参数是ip地址字符串的指针
用法:inet_pton(AF_INET,argv[1],&servaddr.sin_addr);
第三个参数使用&servaddr.sin_addr.s_addr也可以通过
总结:数值型的ip地址转换用htonl,字符串类型的用inet_pton
inet_pton和htonl的区别相关推荐
- 第2章 基本的TCP套接字
2.1 IPv4 TCP客户端 4个步骤: (1) socket()创建TCP套接字(window下要用初始化套接字环境) (2) connect()建立到达服务起的连接 (3) send() ...
- Linux应用编程网络编程
常用Linux API和c标准库函数 常用[shell] stat :查看文件属性信息 chmod :权限修改(root用户可用) chown :属主修改 umask :设定我们系统中新创建的文件的默 ...
- 【Socket网络编程】3.字节序转换函数htons、htonl ,地址转换函数inet_ntoa、inet_ntop、inet_pton、inet_addr
字节序转换函数htons.htonl 地址转换函数inet_ntoa.inet_ntop.inet_pton.inet_addr 1.字节序转换函数 #include <arpa/inet.h& ...
- socket绑定的ip为INADDR_ANY 的意义 htonl(INADDR_ANY)(0.0.0.0所有地址、不确定地址、任意地址)(htonl和htons区别)
INADDR_ANY 表示监听0.0.0.0地址,socket只绑定端口,不绑定本主机的某个特定ip,让路由表决定传到哪个ip(0.0.0.0地址表示所有地址.不确定地址.任意地址)(一台主机中如果有 ...
- htonl htons ntohl ntohs inet_pton inet_ntop
字节序转换函数 uint32_t htonl(uint32_t hostlong)主机字节序到网络字节序长整型转换 uint32_t htons(uint16_t hostshort)主机字节序到网络 ...
- htons、htonl、ntohl、ntohs的区别与使用
文章目录 1.网络编程字节转换 2. 主机字节顺序<-->网络字节顺序 3.大小端模式 1.网络编程字节转换 s表示短.l表示长: ntohs =net to host short int ...
- Windows Socket和Linux Socket编程的区别
2019独角兽企业重金招聘Python工程师标准>>> 1.一些常用函数的移植 http://www.vckbase.com/document/viewdoc/?id=1586 2. ...
- htons() ntohl() ntohs() htons()的区别及详解
在C/C++写网络程序的时候,往往会遇到字节的网络顺序和主机顺序的问题. 这时就可能用到htons(), ntohl(), ntohs(),htons()这4个网络字节顺序与本地字节顺序之间的转换函数 ...
- htonl ntohl htons ntohs
在C/C++写网络程序的时候,往往会遇到字节的网络顺序和主机顺序的问题. 这时就可能用到htons(), ntohl(), ntohs(),htons()这4个网络字节顺序与本地字节顺序之间的转换函数 ...
最新文章
- leetcode题目整数颠倒
- 习题1083字符转换
- java 二维数据结构_JAVA描述算法和数据结构(01):稀疏数组和二维数组转换
- nmap扫描局域网存活主机_第十五天Nmap篇:每日一练之Kali Linux面试题
- x x x x c程序语言,C语言写个贪吃蛇游戏
- docker数据卷的使用 -v --volumes--from
- SAP License:CO常见问题
- HTML5给Web带来9大改变
- Unity 动态鼠标切换
- 计算上周一开始时间戳
- java安卓字体_Android中添加外部字体库和竖直排列字体
- Win7 64位中MinGW和MSYS的安装
- 一个简单的GNS3拓扑结构(两台虚拟PC)
- java 公交管理系统 代码_java公交线路管理系统
- 苹果官方Apple Pay开发文档(中文版)
- Python实现求取素数
- location对象的方法
- 红石外汇|每日汇评:CPI数据压垮美元,日元坚守阵地
- linux下开放sftp端口,在Linux系统中更改默认的SFTP端口及使用新的SFTP端口
- 推荐7个好用的平面设计网站,优秀素材全靠它