27 lines
1.5 KiB
Markdown
27 lines
1.5 KiB
Markdown
---
|
|
tags:
|
|
- 网络开发基础
|
|
date: 2025-12-29T09:32:00
|
|
---
|
|
## 什么是域名解析?
|
|
|
|
我们上网的本质就是在和不同的IP地址以及端口号进行通讯,根据需求不同有时候进行长连接通讯,有时候进行短链接通讯。在我们访问某个网页的时候,本质就是向他的IP地址以及80端口进行一次通讯,从而得到页面数据渲染下来。
|
|
|
|
可是IP地址作为纯数字,并不好记忆,于是诞生了域名技术,也就是将一个方便记忆的地址,他内部指向一个IP地址,通过DNS技术,将域名解析为一个IP地址,这样方便人们去记忆地址。
|
|
|
|
将域名转变为IP地址的过程,我们称之为域名解析。
|
|
|
|
## 如何进行域名解析?
|
|
域名解析在C#中已经封装好了net库,我们只需要学习两个API的使用方法即可。
|
|
### 同步方法
|
|
Dns.GetHostEntry(string 域名);
|
|
该方法通过传入域名,可以返回该域名对应的==主机条目(IPHostEntry)==;
|
|
### 异步方法
|
|
Dns.GetHostEntryAsync(string 域名)
|
|
该方法和上述方法相同,不过他的返回值是Task,需要放在async的方法下面才能执行,最终的实际返回值也是==主机条目(IPHostEntry)==。只是我们需要用task.Result来得到最终的返回值
|
|
### ==主机条目==
|
|
主机条目就是域名解析后的返回值,他里面包含了该域名的种种信息,常见的如下
|
|
- 获取IP地址列表 成员变量:AddressList
|
|
- 获取主机别名列表 成员变量:Aliases
|
|
- 获取DNS名称 成员变量:HostName
|