C# 从主机名创建IPEndPoint

C# 从主机名创建IPEndPoint,c#,network-programming,C#,Network Programming,我正在使用需要“IPEndPoint”的第三方dll。由于用户可以输入IP地址或主机名,因此在创建IPEndPoint之前,我需要将主机名转换为IP地址。在.net中是否有任何函数可以执行此操作,或者我是否必须编写自己的DNS查找代码 您可以使用以下内容: var addresses = Dns.GetHostAddresses(uri); Debug.Assert(addresses.Length > 0); var endPoint = new IPEndPoint(addresse

我正在使用需要“IPEndPoint”的第三方dll。由于用户可以输入IP地址或主机名,因此在创建IPEndPoint之前,我需要将主机名转换为IP地址。在.net中是否有任何函数可以执行此操作,或者我是否必须编写自己的DNS查找代码


您可以使用以下内容:

var addresses = Dns.GetHostAddresses(uri);
Debug.Assert(addresses.Length > 0);
var endPoint = new IPEndPoint(addresses[0], port);

您如何知道
地址[0]
是返回地址列表中最合适的地址?您不知道,但这很可能无关紧要。它应该是列表中的第一个ip,因为循环DNS服务器每次都会以不同的顺序为它服务,希望客户端使用第一个,所以使用列表中的第一个;)。
var addresses = Dns.GetHostAddresses(uri);
Debug.Assert(addresses.Length > 0);
var endPoint = new IPEndPoint(addresses[0], port);