c - 非阻塞网络地址解析(gethostbyname 或 getaddrinfo)?

标签 c linux dns network-programming

使用经典的 nsswitch.conf 配置:

hosts:      files dns

如果 DNS 没有响应(或配置错误),尝试使用 gethostbyname(或 getaddrinfo)解析名称可能需要一段时间。

有没有办法在 nsswitch.conf 中配置超时或使用管理超时的替代 API?

最佳答案

getaddrinfo_a , 但它是 Linux-specific GNU glibc 特定的。或者,您可以生成一个线程并在其中调用 getaddrinfo。不要在线程中使用 gethostbyname,因为它不是 thread-safe .

关于c - 非阻塞网络地址解析(gethostbyname 或 getaddrinfo)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22013421/

相关文章:

linux - ping 网站期间会发生什么?有哪些阶段?

c - 魔数(Magic Number)程序

c - 夹板在结构内关闭文件指针后涉嫌内存泄漏

linux - Crontab 抛出错误

用于打印 C 文件的函数详细信息的 C 程序

linux - gdb linux - 段错误没有找到符号表

c - va_arg 字符串段错误

将 Swift CChar 数组转换为字符串

dns - 我可以在不同的托管区域中有一个 route53 子域吗?

docker - 如何将我的域名连接到运行 Ghost 博客的 Docker 容器