c# - 将主机名解析为 IP

标签 c#

我为此进行了大量的谷歌搜索,我发现了很多例子,但没有一个对我有用。这是一个简单的问题,我觉得没有定义新类\模块等就有一个简单的答案......

我的代码是这样的:

Console.WriteLine ("Please enter an IP address or hostname");
string host = Console.ReadLine ();
***IP = resolved "host"*** 
Socket s = new Socket (AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);    
s.Connect (IP, 80);
s.close();

我如何实际解析 IP 变量?

最佳答案

您可以简单地使用 DNS类这样做:

IPHostEntry hostEntry;

hostEntry= Dns.GetHostEntry(host);

//you might get more than one ip for a hostname since 
//DNS supports more than one record

if (hostEntry.AddressList.Length > 0)
{
      var ip = hostEntry.AddressList[0];
      Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);
      s.Connect(ip, 80);
}

关于c# - 将主机名解析为 IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13248971/

相关文章:

c# - 如何为存储为数组 [ticks,offset] 的 DatetimeOffset 创建 MongoDB TTL 索引?

C# - 查找 Winform 应用程序的坐标

c# - 如果我调用 C# 事件处理程序并调用它,会发生什么情况?

c# - ServiceStack:如何判断请求的返回是否已缓存?

c# - 在 C# 中计算 2 的整数幂的简单方法?

javascript - 如何滚动垂直滚动条(而不是整个页面)?

c# - WCF 服务主机关闭被打开的 session 阻止并且设置 receiveTimeout 没有帮助

c# - ASP.NET MVC6 "The binary operator Equal is not defined"

c# - Entity Framework 代码优先导航属性返回空字段

c# - InvalidArgument= '0' 的值对于 'index' 无效。参数名称: index