.NET Socket.Connect 将主机名解析为 IP 地址
Posted
技术标签:
【中文标题】.NET Socket.Connect 将主机名解析为 IP 地址【英文标题】:.NET Socket.Connect Resolve Host name to IP Address 【发布时间】:2011-05-07 06:44:49 【问题描述】:我正在查看一些代码中的 .NET 套接字连接函数。 http://msdn.microsoft.com/en-us/library/d7ew360f.aspx 这个函数接受一个字符串作为参数,表示远程主机的名称。
我的问题是,套接字如何获取该远程主机的 IP 地址?它是执行 DNS 查找还是可以转到 Windows 主机文件? (Windows XP)
【问题讨论】:
我有一个关于这个帖子的工作***.com/questions/3481858/…你能联系我吗? 【参考方案1】:使用Dns.GetHostAddresses(host);
。
一段实际代码如下:
public void Connect(string host, int port)
// Checking parameters etc, removed.
IPAddress[] addresses = Dns.GetHostAddresses(host);
Connect(addresses,port);
因此,带有主机名的构造函数只是调用带有 IP 地址的构造函数。
有关 Dns.GetHostAddresses()
的文档,请参阅 http://msdn.microsoft.com/en-us/library/system.net.dns.gethostaddresses.aspx。
【讨论】:
哪个,顺便说一句,将首先检查主机文件,然后尝试 DNS 查找。以上是关于.NET Socket.Connect 将主机名解析为 IP 地址的主要内容,如果未能解决你的问题,请参考以下文章
为啥Java的socket.connect()会消耗100%的cpu资源?