inet aton在java_地址转换函数:inet_aton inet_ntoa inet_addr和inet_pton inet_ntop
在Unix网络编程中,我们常用到地址转换函数,它将ASCII字符串(如"206.62.226.33")与网络字节序的二进制值(这个值保存在套接口地址结构中)间进行地址的转换。
1、inet_aton、inet_addr和inet_ntoa在点分十进制数串(例如"206.62.226.33")与它的32位网络字节序二进制值间转换IPv4地址。
2、两个较新的函数:inet_pton和inet_ntop对IPv4和IPv6地址都能进行处理。
1 #include
2
3 /*返回1:串有效,返回0:串出错*/
4 int inet_aton(const char *strptr, struct in_addr *addrptr);5
6 /*若成功,返回32位二进制的网络字节序地址;若出错,返回INADDR_NONE*/
7 in_addr_t inet_addr(const char *strptr);8
9 /*返回指向点分十进制数串的指针*/
10 char* inet_ntoa(struct in_addr inaddr);
inet_aton将strptr所指的C字符转换为32位网络字节序二进制值,并用一个出参addrptr来存储,返回值为1代表成功,否则返回0。
inet_addr与inet_aton不同在于,他的返回值为转换后的32位网络字节序二进制值,而不是作为出参返回,这样存在一个问题,他的返回值返回的有效IP地址为0.0.0.0到255.255.255.255,如果函数出错,返回常量值INADDR_NONE(这个值一般为一个32位均为1的值),这意味着点分二进制数串255.255.255.255(IPv4的有限广播地址)不能由此函数进行处理。
inet_ntoa将一个32位的网络字节序二进制IPv4地址转换为相应的点分十进制数串。
inet_pton和inet_ntop两个函数较新,对IPv4和IPv6地址都能进行处理,字母p代表presentation,字母n代表numeric。地址的表达格式通常是ASCII串,数值格式则是存在于套接口地址结构中的二进制值。
1 #include
2
3 /*若函数成功,则返回1;若输入不是有效的格式,则函数返回0;若处理失败,函数返回-1*/
4 int inet_pton(int family, const char *strptr, void *addrptr);5
6 /*若函数处理成功,返回指向结果的指针;若函数处理失败,返回NULL*/
7 const char* inet_ntop(int family, const void *addrptr, char *strptr, size_t len);
两个函数的参数family既可以是AF_INET,也可以是AF_INET6。如果以不被支持的地址族作为family参数,两个函数都返回错误,并将errno置为EAFNOSUPPORT。
第一个函数转换由指针strptr所指的串,通过指针addrptr存储二进制结果,如果成功,则返回值为1;如果对于指定的family输入串不是有效的表达格式,则返回值为0.
inet_ntop进行相反的转换,即从数值格式(addrptr)到表达格式(strptr)进行转换。参数len是目标的大小,以免函数溢出其调用者的缓冲区。为有助于规定这个大小,在头文件中有如下定义:
1 #define INET_ADDRSTRLEN 16 /* for IPv4 dotted-decimal */
2 #define INET6_ADDRSTRLEN 46 /* for IPv6 hex string */
如果len太小,无法容纳表达格式结果(包括终止的空字符),则返回一个空指针,并置errno为ENOSPC。
函数inet_ntop的参数strptr可不能是个空指针,调用者必须为目标分配内存指定大小。成功时,此指针即函数的返回值。
原文:http://www.cnblogs.com/warren-liuquan/p/3555945.html
inet aton在java_地址转换函数:inet_aton inet_ntoa inet_addr和inet_pton inet_ntop相关推荐
- java inet aton_地址转换函数:inet_aton inet_ntoa inet_addr和inet_pton inet_ntop
在Unix网络编程中,我们常用到地址转换函数,它将ASCII字符串(如"206.62.226.33")与网络字节序的二进制值(这个值保存在套接口地址结构中)间进行地址的转换. 1. ...
- 【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& ...
- IP地址转换函数——inet_pton inet_ntop inet_aton inet_addr inet_ntoa
inet_pton NAME inet_pton - 将 IPv4 和 IPv6 地址从点分十进制转换为二进制 SYNOPSIS #include <arpa/inet.h>int ...
- IP地址转换函数 inet_pton、inet_ntop与 inet_aton、inet_addr、 inet_ntoa
inet_pton NAME inet_pton - 将 IPv4 和 IPv6 地址从点分十进制转换为二进制 SYNOPSIS #include <arpa/inet.h>int ...
- 1.socket编程:socket编程,网络字节序,函数介绍,IP地址转换函数,sockaddr数据结构,网络套接字函数,socket相关函数,TCP server和client
1 Socket编程 socket这个词可以表示很多概念: 在TCP/IP协议中,"IP地址+TCP或UDP端口号"唯一标识网络通讯中的一个进程,"IP 地址+端 ...
- Linux 网络编程详解一(IP套接字结构体、网络字节序,地址转换函数)
IPv4套接字地址结构 struct sockaddr_in {uint8_t sinlen;(4个字节)sa_family_t sin_family;(4个字节)in_port_t sin_port ...
- 【Linux网络编程学习】预备知识(网络字节序、IP地址转换函数、sockaddr数据结构)
此为牛客Linux C++课程和黑马Linux系统编程笔记. 1. 网络字节序 我们已经知道,内存中的多字节数据相对于内存地址有大端和小端之分. 磁盘文件中的多字节数据相对于文件中的偏移地址也有大端小 ...
- linux的基础知识——网络字节序转化,ip地址转换函数,sockaddr数据结构
1.网络字节序 TCP/IP协议规定,网络数据流采用大端字节序,即低地址高字节.为了使网络程序具有可移植性,使得同样的C代码在大端和小端计算机上编译后都能正常运行,可以调用以下库函数做网络字节序和主机 ...
- MySQL inet aton函数,MySQL IP转数字函数 INET_ATON() INET_NTOA()
223 total views, 1 views today 在MySQL中IP地址可以使用varchar字段类型存储,但是若查找某个IP区间的IP地址就很麻烦. 但是通过 INET_ATON() 函 ...
最新文章
- 奥特linux系统监控,奥特曼知识大挑战答案
- C++编程进阶5(内联函数、如何降低编译成本、处理继承体系中同名不同参的成员函数、私有虚函数)
- 老板问我桌面演练(TTX)是什么,我直接给他发了定义、示例和目标
- IaaS、PaaS和SaaS 公司都做些什么
- sql语句换行_Spark随笔|关于Bucket Table与SQL语句转换
- html5media使用
- 【解析】在设计软件的模块结构时,()不能改进设计质量
- Cant get connection to Zookeeper
- Web2.0时代,RSS你会用了吗?(技术实现总结)(转载)
- ap模式和sta模式共存_锐捷AP缺省VLAN和用户VLAN那些事儿 | 运维实战家
- Composer - PHP 世界里用于管理项目依赖的工具
- GraphQL:现代数据库管理系统的演变
- 86.最少连接算法以及如何跨worker进程生效
- iphone core animation教程
- phpcmsv9 更换域名出现页面无法访问后怎么办
- iPhone越狱后,常见路径大全
- 二月(不积跬步无以至千里)
- python中eval()函数的作用及使用方法
- 美团每日红包 青龙面板
- 在HTML中把文本变成斜体的是,CSS/HTML:什么是使文本斜体的正确方法?
热门文章
- 腾讯后端面试题python_腾讯后端开发,一面面试题分享
- HDU 5761 Rower Bo 物理题(积分求时间)
- 数据库连接和数据库连接池连接
- 神经网络和深度神经网络,图神经网络和神经网络
- Python Tkinter - WiFi WL Test 上位机 (自动搜索Uart、执行exe/Bat)
- word中每页后面的空白怎么删掉
- sql server 修改列属性为非必填项
- excel下拉菜单vba_一站式提供不同的Excel下拉菜单
- 指南:使用 Trickle 限制应用程序带宽占用
- 独家丨DeepMind科学家、AlphaTensor一作解读背后的故事与实现细节