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



使用经典的 nsswitch.conf 配置:

hosts:      files dns

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

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

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

最新更新