c-ares是否支持IOS?

7
c-ares 是否支持IOS?我需要在我的公司的运行于IOS操作系统的应用程序中使用 c-ares。但是,使用“ares_gethostbyname()”时无法正确工作,并且回调函数中的状态代码始终返回11(ARES_ECONNREFUSED)。相同的代码在其他操作系统(如Win32、Android)上可以正常运行。

浏览源代码后,我发现原因是 c-ares无法在IOS上获取dns服务器。因为 c-ares 读取文件/etc/resolv.conf以获取dns服务器信息,但是该文件在IOS上不存在。

那么,c-ares是否支持IOS?或者在IOS上获取dns服务器信息的方法是什么?

1个回答

3
我发现了一个补丁,它从未合并到主仓库中,发布于2014年12月
如果您能够尝试并在c-ares邮件列表中报告结果,那将非常好,这样我们可以努力使其得到“官方”的支持和合并。
/糟糕的c-ares维护者 :-(

谢谢!我也尝试通过调用"res_ninit()"来获取DNS服务器信息。但是我发现一个奇怪的问题。当连接到互联网时,我可以正确地获取DNS服务器IP,但是如果断开互联网连接,则无法获取。因此,我想知道为什么"res_ninit()"需要连接到网络才能获取DNS服务器信息? - wanghongyun
如果“res_ninit()”需要连接到网络,那么它将无法控制。可能需要很长时间才能获取DNS信息。因此,我认为如果将此代码合并到“ares_init”中,则不可接受花费很长时间进行初始化。 - wanghongyun
你混淆了主题。res_init或res_ninit与c-ares或其工作方式完全无关。 - Daniel Stenberg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接