在win32多nic计算机上,如果所有nic都配置了不同的DNS且具有相同的度量,如何在特定nic上通过gethostbyname()强制进行DNS解析?
否则,如何知道应用程序每次执行gethostbyname()调用时将使用哪个DNS来解析名称呢?
发布于 2009-10-02 21:45:46
您不能这样做,至少我非常确定您不能指定一个接口来使用gethostbyname()或任何标准套接字实用程序发送查询。(对于这一点,可能有一个非常深奥的win32选项,但我打赌不会这样做)
如果你确实需要这个功能,你需要选择一个第三方DNS库来为你提供这样的功能...或者甚至从scatch中编写一个。
该库需要为您提供一种将发出DNS查询的UDP套接字绑定到指定地址的方法。
也可能有一种方法可以将Windows配置为使用系统设置从界面发出DNS查询,但我强烈怀疑是否有从程序内部执行此操作的方法。
发布于 2009-10-02 20:15:05
在https://serverfault.com/上回答这个问题可能会更好,这是一个更适合管理机器的网站。所以对编程来说是最好的。
发布于 2009-10-16 08:31:47
考虑使用原始套接字并实现您自己的DNS查询机制。
https://stackoverflow.com/questions/1504743
复制相似问题