首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >getaddrinfo() vs NAPTR/SRV记录

问getaddrinfo() vs NAPTR/SRV记录
EN

Stack Overflow用户
提问于 2013-07-02 06:47:36
回答 2查看 2.4K关注 0票数 4

我对域名resolution.We能否通过使用getaddrinfo()函数或通过NAPTR查询、SRV记录查询和A/AAAA记录来实现从DNS到ip地址格式的地址解析有疑问。1.函数使用getaddrinfo()在内部使用NAPTR查询技术吗? 2.与其他过程相比,使用函数getaddrinfo()有什么好处?

EN

回答 2

Stack Overflow用户

发布于 2013-07-02 14:21:04

getaddrinfo()不查询NAPTR或SRV记录,也不查询除A和AAAA以外的任何类型的记录。getaddrinfo()是libc主机名解析服务的接口,它被建模为名称和地址之间的简单映射。要了解如何做到这一点,请考虑此解析服务可以参考/etc/hosts,或者更少使用NIS+、LDAP、关系数据库等等,比如它的配置文件/etc/nsswitch.conf。请注意,这些NSS后端中没有一个能够理解有关、NAPTR、或SRV记录的任何内容。

只有DNS实现了NAPTR和SRV记录,如果要查询它们,就必须使用API直接查询DNS (请参阅res_init()和相关函数,或者更有趣的第三方库,如支持非阻塞操作的C-战备 )。您不能使用libc主机名解析服务来执行此操作。

关于第二个问题,使用getaddrinfo()的优点是:(1)使用起来容易得多;(2)您将定位用户可能已插入到/etc/hosts中的条目,如果直接查询/etc/hosts,您将错过这些条目。

票数 10
EN

Stack Overflow用户

发布于 2020-01-23 18:45:35

getaddrinfo还返回ipv6地址。此外,您还可以选择提供提示。还有一个变体getaddrinfo_a --这个API以异步方式提供结果。这有时是有用的,以避免程序被阻塞在一个地方。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17419123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档