Windows Win32,多个NIC计算机,每个NIC有不同的DNS,gethostbyname的行为如何?

Windows Win32,多个NIC计算机,每个NIC有不同的DNS,gethostbyname的行为如何?,windows,networking,Windows,Networking,在win32多nic计算机上,如果所有nic都配置了不同的DNS并且具有相同的度量,如何通过特定nic上的gethostbyname()强制DNS解析 否则,如何知道每次应用程序执行gethostbyname()调用时将使用哪个DNS解析名称?这可能是一个更好的答案,因为它是一个更适合管理机器的站点。因此最适合编程。您不能这样做,至少我相当确定您不能指定一个接口来使用gethostbyname()或任何标准套接字实用程序发送查询。(这可能有一个非常深奥的win32选项,但我打赌不会) 如果你绝对

在win32多nic计算机上,如果所有nic都配置了不同的DNS并且具有相同的度量,如何通过特定nic上的gethostbyname()强制DNS解析


否则,如何知道每次应用程序执行gethostbyname()调用时将使用哪个DNS解析名称?

这可能是一个更好的答案,因为它是一个更适合管理机器的站点。因此最适合编程。

您不能这样做,至少我相当确定您不能指定一个接口来使用gethostbyname()或任何标准套接字实用程序发送查询。(这可能有一个非常深奥的win32选项,但我打赌不会)

如果你绝对需要这个功能,你需要选择一个第三方DNS库,为你提供这样的能力。。。甚至还可以从scatch那里写一封信

该库需要为您提供一种将要发出DNS查询的UDP套接字绑定到指定地址的方法


也可能有一种方法可以配置Windows使用系统设置从接口发出DNS查询,但我强烈怀疑是否有一种方法可以从程序中执行此操作。

考虑使用原始套接字并实现您自己的DNS查询机制。

我将问题复制到SF,但是,程序员的意见可能很有意思,因为我想知道是否必须根据自己的需要重写gethostbyname()特定的函数。我期待着这样的响应,但在使用套接字绑定重新实现我自己的gethostbyname变体之前,我想确保这是唯一的选项。谢谢你的回复!你应该把这个问题留一段时间,但是,我不知道一切:)