IPv6名称到地址的转换函数getaddrinfo()详解
函数
|
参数说明
|
int getaddrinfo(
const char* nodename
const char* servname,
const struct addrinfo* hints,//
struct addrinfo** res
);
|
nodename:节点名可以是主机名,也可以是数字地址。(IPV4的10进点分,或是IPV6的16进制)
servname:包含十进制数的端口号或服务名如(ftp,http)
hints:是一个空指针或指向一个addrinfo结构的指针,由调用者填写关于它所想返回的信息类型的线索。
res:存放返回addrinfo结构链表的指针
|
结构
|
固定的参数
|
typedef struct addrinfo {
int ai_flags;
int ai_family;
int ai_socktype;
int ai_protocol;
size_t ai_addrlen;
char* ai_canonname;
struct sockaddr* ai_addr;
struct addrinfo* ai_next;
}
|
ai_addrlen must be zero or a null pointer
ai_canonname must be zero or a null pointer
ai_addr must be zero or a null pointer
ai_next must be zero or a null pointer
|
可以改动的参数
|
|
ai_flags:AI_PASSIVE,AI_CANONNAME,AI_NUMERICHOST
ai_family: AF_INET,AF_INET6
ai_socktype:SOCK_STREAM,SOCK_DGRAM
ai_protocol:IPPROTO_IP, IPPROTO_IPV4, IPPROTO_IPV6 etc.
|
参数
|
取值
|
值
|
说明
|
ai_family
|
AF_INET
|
2
|
IPv4
|
AF_INET6
|
23
|
IPv6
|
|
AF_UNSPEC
|
0
|
协议无关
|
|
ai_protocol
|
IPPROTO_IP
|
0
|
IP协议
|
IPPROTO_IPV4
|
4
|
IPv4
|
|
IPPROTO_IPV6
|
41
|
IPv6
|
|
IPPROTO_UDP
|
17
|
UDP
|
|
IPPROTO_TCP
|
6
|
TCP
|
|
ai_socktype
|
SOCK_STREAM
|
1
|
流
|
SOCK_DGRAM
|
2
|
数据报
|
|
ai_flags
|
AI_PASSIVE
|
1
|
被动的,用于bind,通常用于server socket
|
AI_CANONNAME
|
2
|
||
AI_NUMERICHOST
|
4
|
地址为数字串
|
AI_NUMERICHOST
|
AI_CANONNAME
|
AI_PASSIVE
|
0/1
|
0/1
|
0/1
|
IPv6名称到地址的转换函数getaddrinfo()详解相关推荐
- php打印出函数的内容吗,PHP打印函数集合详解以及PHP打印函数对比详解(精)
1 echo();2 print();3 die();4 printf();5 sprintf();6 print_r();7 var_dump(); 1 echo() 可以同时输出多个字符串,可以多 ...
- IPv4、IPv6地址、组播地址及子网子划分详解二子网划分
IPv4.IPv6地址.组播地址及子网子划分详解二子网划分 5.子网划分 5.1.子网掩码 5.2.无类域间选择CIDR 5.3.根据子网掩码和CIDR值划分子网 5.4.二进制AND运算在划分子网中 ...
- IPv4、IPv6地址、组播地址及子网子划分详解三可变长子网掩码
IPv4.IPv6地址.组播地址及子网子划分详解三可变长子网掩码 5.5.可变长子网掩码(VlSM) 5.5.可变长子网掩码(VlSM) 先看一下分类组网,路由选择协议RIPv1没有包含子网信息的字段 ...
- ajax.request函数使用详解
ajax.request函数使用详解 Ajax.Request ? Ajax.Request( url, { method:method, parameters:para, postBody:xmlS ...
- C语言结构体中定义函数指针详解
C语言结构体中定义函数指针详解 结构体指针函数应用场景之一--驱动程序编写 结构体的一些基本用法 形式1:先定义结构体类型,再定义变量 形式2:在定义类型的同时定义变量 形式3:直接定义变量,用无名结 ...
- “戏”说Spark-Spark核心-RDD转换操作算子详解(一)
"戏"说Spark-Spark核心-RDD转换行动类算子详解 算子概述 对于RDD可以有两种计算方式: 转换(返回值还是一个RDD)---懒执行 操作(返回值不是一个RDD)--- ...
- jQuery.extend 函数使用详解
jQuery.extend 函数使用详解 一.总结 一句话总结: jquery $.extend的作用就是:用于将一个或多个对象的内容合并到目标对象:$.extend( target [, objec ...
- ioctl 函数 参数 详解
2019独角兽企业重金招聘Python工程师标准>>> ioctl 函数 参数 详解 2009-04-24 11:55 ioctl函数 本函数影响由fd参数引用的一个打开的文件. # ...
- lisp不是函授型语言_lisp函数大全详解
lisp函数大全详解 AutoLISP提供了大量的预定义函数.若将函数名(大小写都可)作为表中的第一个元素函数变元(若有的话)作为表中后面的元素,就可以调用那个函数.本章按字母顺序列出AutoLISP ...
最新文章
- 组合计数 ---- 732 Div2 D. AquaMoon and Chess
- 【行业进展】国内自动驾驶发展的怎么样了?
- 用Restlet创建面向资源的服务
- 在nodejs websocket回调函数中没法用this
- input ios问题 小程序_小程序可以解决哪些问题??
- 这个 CSS 库竟能帮你做汉堡?
- 【堪萨斯州立大学】电子和计算机工程系智能能源研究室、硬件安全实验室招募博士,提供多个全额奖学金机会...
- 猛料一顿狂堆!华为P40 Pro详细参数被曝光
- php httprequest 安装,php实现httpRequest的方法
- python能做什么项目-Python可以做大项目吗?
- 【强化学习】强化学习介绍
- win7更新服务器证书,ie浏览器网站安全证书更新方法介绍
- 阿里云磁盘异常爆满的原因排查及解决方法
- 华为2016研发工程师编程题---删数
- 【福尔摩斯的约会】-PAT
- 【​观察】全面屏手机战役的背后 差异化创新还是同质化加速?
- 985博士走红,粉丝超800万遭网暴!如今状告“施暴者”
- python selenium 点击 报错v_python执行selenium报错
- vue中进度条写法_vue中自制进度条
- 基于三维数模的零件三坐标检测2020
热门文章
- 向上2021·新消费品牌发展报告
- 分享一个数据产品经理的PRD
- 2020年短视频用户价值研究报告
- 面试中有这些特征的公司可以pass了
- 小度智能音箱维修点_小度智能音箱无法唤醒怎么办
- python的深造方向_自动化深造方向有哪些?
- 不属于html5表单元素的是,HTML5 表单元素
- python 键盘输入_跟我一起学python | 探究07
- 作者:高丰(1986-),英国南安普敦大学计算机博士,现为开放数据与创新独立咨询顾问,兼复旦大学数字与移动治理实验室特邀研究员。...
- 【Python】SyntaxError: Non-ASCII character ‘\xe8‘ in file main.py on line 7, but no encoding declared;