gpt4 book ai didi

c++ - getaddrinfo() 连续失败并出现 EAI_AGAIN

转载 作者:太空宇宙 更新时间:2023-11-04 14:18:27 24 4
gpt4 key购买 nike

在我的代码中,我使用的代码如下。

do
{
r = getaddrinfo(host, service, &hints, ret);
}
while (r == EAI_AGAIN);

当测试 getaddrinfo() 连续失败时,循环不会正确终止。

您有什么改进代码的方法吗?我们可以使用计数器来计算它应该循环的次数吗?

另外请让我知道 getaddrinfo() 调用返回“EAI_AGAIN”的所有原因。

最佳答案

不可否认,这是一个大胆的猜测。

我们还在略微不足的单核嵌入式系统上看到了这一点。

我假设(在我们的例子中是 dnsmasq)在一个单独的进程中运行,无论出于何种原因(可能是因为我们在绕圈子追尾)它没有获得足够的资源(cpu/ram/.. .) 来完成它的工作。

对解决方案的疯狂猜测可能是让这个紧密循环进入休眠状态,让 DNS 缓存魔术在它需要的资源上发挥作用。

如果可行,我会通知您。

关于c++ - getaddrinfo() 连续失败并出现 EAI_AGAIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9379373/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com