域名解析
Contents
什么是域名解析?
域名解析就是将域名解析成IP地址
IP地址是网络上标识站点的数字地址,但是IP地址相对来说记忆困难
所以为了方便记忆,采用域名来代替IP地址标识站点地址。
域名解析就是域名到IP地址的转换过程。域名的解析工作由DNS服务器完成
域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务
IPHostEntry类
命名空间:System.Net
类名:IPHostEntry
主要作用:域名解析后的返回值 可以通过该对象获取IP地址、主机名等等信息
该类不会自己声明,都是作为某些方法的返回值返回信息,我们主要通过该类对象获取返回的信息
关键成员
IPHostEntry host = new IPHostEntry();
//获取关联IP
host.AddressList
//获取主机别名列表
host.Aliases
//获取DNS名称
host.HostNameDns类
命名空间:System.Net
类名:Dns
主要作用:Dns是一个静态类,提供了很多静态方法,可以使用它来根据域名获取IP地址
常用方法
获取本地系统的主机名
print(Dns.GetHostName());获取指定域名的IP信息
同步获取
private void GetHostEntry()
{
IPHostEntry entry = Dns.GetHostEntry("www.baidu.com");
//获取ip地址
for (int i = 0; i < entry.AddressList.Length; i++)
{
print("IP地址:" + entry.AddressList[i]);
}
//获取主机名
for (int i = 0; i < entry.Aliases.Length; i++)
{
print("主机别名:" + entry.Aliases[i]);
}
//获取DNS名称
print("DNS服务器名称" + entry.HostName);
}异步获取
private async void GetHostEntry()
{
Task<IPHostEntry> task = Dns.GetHostEntryAsync("www.baidu.com");
await task;
//获取ip地址
for (int i = 0; i < task.Result.AddressList.Length; i++)
{
print("IP地址:" + task.Result.AddressList[i]);
}
//获取主机名
for (int i = 0; i < task.Result.Aliases.Length; i++)
{
print("主机别名" + task.Result.Aliases[i]);
}
//获取DNS名称
print("DNS服务器名称" + task.Result.HostName);
}总结
如果你不知道对方的IP地址,想通过域名和对方进行通信
我们可以通过Dns类通过域名得到IP地址后再和对方建立连接并通信