使用经典的 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/