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

时间:2014-02-25 11:54:09

标签: c linux dns network-programming

使用经典的nsswitch.conf配置:

hosts:      files dns

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

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

1 个答案:

答案 0 :(得分:6)

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