“Microsoft DNS Client”与getaddrinfo?

时间:2009-09-02 18:31:39

标签: windows curl dns c-ares

现在,我的应用程序在c-ares下面的Windows上使用cURL异步DNS解析程序库,我让用户抱怨它的行为与其他Windows应用程序不同。一位特定用户说“其他应用程序正在使用Microsoft DNS客户端”并且没有遇到任何问题。

cURL本身有一个异步DNS实现,它在一个线程中使用getaddrinfo()。我猜这是使用“DNS客户端”及其主机功能(例如DnsQuery?)的等效行为。

所以,亲爱的Lazyweb,我问getaddrinfo()的行为与使用Win32 API中的实际Dns * API之间是否存在切实的区别。

2 个答案:

答案 0 :(得分:1)

查看源代码似乎实际上实现了用于查询主机名的dns协议(并且不直接调用getaddrinfo) - 我希望错过WINS查找之类的东西,而且上帝知道其他什么类型的东西窗口可以查找名称。

答案 1 :(得分:0)

在Windows上进行DNS查询的最简单方法是使用DNSQuery(和派生函数,utf8,wbytes,ansi)。除非您需要异步解析,否则我建议继续使用c-ares或其他类似的API。

我不确定WINS或其他Windows特定解决方案(不是DNS规范的一部分)没有被c-ares覆盖。如果你能给我们一些例子,那将会很有帮助,也许我们也可以用c-ares来实现它们。

相关问题