我正在查看一些代码中的 .NET 套接字连接函数。 http://msdn.microsoft.com/en-us/library/d7ew360f.aspx该函数接受一个字符串作为参数,表示远程主机的名称。
我的问题是,套接字如何获取该远程主机的 IP 地址?它是否执行 DNS 查找或者是否可以转到 Windows 主机文件? (Windows XP)
最佳答案
使用Dns.GetHostAddresses(host);
。
实际代码片段如下:
public void Connect(string host, int port){
// Checking parameters etc, removed.
IPAddress[] addresses = Dns.GetHostAddresses(host);
Connect(addresses,port);
}
因此,具有主机名的构造函数只需调用具有 IP 地址的构造函数。
参见http://msdn.microsoft.com/en-us/library/system.net.dns.gethostaddresses.aspx有关 Dns.GetHostAddresses()
的文档。
关于.NET Socket.Connect 将主机名解析为 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4134565/