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

标签 windows networking

在 win32 多网卡计算机上,如果所有网卡都配置了不同的 DNS 且具有相同的指标,如何在特定网卡上强制通过 gethostbyname() 进行 DNS 解析?

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

最佳答案

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

如果您绝对需要此功能,则需要选择一个第三方 DNS 库来为您提供这种功能……甚至可以从零开始编写一个。

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

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

关于windows - Win32,多 NIC 计算机,每个 NIC 不同的 DNS,gethostbyname 的行为如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1504743/

相关文章:

c++ - Windows:通过应用程序名称或标识符获取 exe 的路径?

windows - Windows 驱动程序中的 __security_init_cookie 导致错误检查 KERNEL_SECURITY_CHECK_FAILURE

c - 在单个 DNS 查询中请求 A 和 AAAA 记录

java - 同时来自多台计算机/用户的 Eclipse?

java - 在 Java 中检测无法访问的主机的最快方法是什么?

networking - UDP可以重传丢失的数据吗?

windows - 从自定义 AMI 自动登录启动多个 ec2 windows 服务器

Java - LP 求解器动态链接错误

c - Windows API 是否可以与 Windows 窗体一起使用

java - 在单台计算机上模拟 p2p 网络流量