【问题标题】:Win32 ,Multiple NIC computer , different DNS per NIC , how gethostbyname behaves?Win32,多 NIC 计算机,每个 NIC 不同的 DNS,gethostbyname 的行为如何?
【发布时间】:2009-10-01 15:45:20
【问题描述】:

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

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

【问题讨论】:

    标签: windows networking


    【解决方案1】:

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

    如果您绝对需要此功能,则需要选择一个第三方 DNS 库来为您提供这种功能……或者甚至从 scatch 中编写一个。

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

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

    【讨论】:

    • 我期待这样的响应,但在使用套接字绑定重新实现我自己的 gethostbyname 变体之前,我想确保它是唯一的选择。感谢您的回复!
    • 你应该把这个问题留一会儿,但是我什么都不知道 :)
    【解决方案2】:

    https://serverfault.com/ 可能会更好地回答这个问题,这是一个更适合管理机器的站点。 SO 最适合编程。

    【讨论】:

    • 我将问题复制到 SF,但 SO 程序员的意见可能很有趣,因为我想知道我是否必须根据需要重写 gethostbyname() 特定函数
    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-12
      • 2014-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 1970-01-01
      相关资源
      最近更新 更多