[转载]C#.NET中Dns类的常用方法及说明
IP是一种普遍应用于因特网、允许不同主机能够相互找到对方的寻址协议。IP地址由4个十进制的数字号码所组成,而每一个号码的值介于0~255之间,它虽然解决了网络上计算机的识别问题,但是IP地址确不容易记,因此域名系统(DNS)被开发出来,它专门用于将IP地址转换成有意义的文字,以方便识别记忆。
.Net FrameWork类库内置了相关类用于处理IP地址的问题,这些类在System.Net命名空间下。这里主要对DNS类进行详细介绍。DNS类中的常用方法及说明如表所示。
表 DNS类的常用方法及说明
| 名称 | 说明 |
| BeginGetHostAddresses | 异步返回指定主机的Internet 协议 (IP) 地址 |
| BeginGetHostByName | 开始异步请求关于指定DNS主机名的IPHostEntry信息 |
| BeginGetHostEntry | 已重载。 将主机名或IP地址异步解析为IPHostEntry实例 |
| BeginResolve | 开始异步请求将DNS主机名或IP地址解析为IPAddress实例 |
| EndGetHostAddresses | 结束对DNS信息的异步请求 |
| EndGetHostByName | 结束对DNS信息的异步请求 |
| EndGetHostEntry | 结束对DNS信息的异步请求 |
| EndResolve | 结束对DNS信息的异步请求 |
| GetHostAddresses | 返回指定主机的Internet协议(IP)地址 |
| GetHostByAddress | 已重载。 获取IP地址的DNS主机信息 |
| GetHostByName | 获取指定DNS主机名的DNS信息 |
| GetHostName | 获取本地计算机的主机名 |
| GetType | 获取当前实例的类型 |
| GetHostEntry | 已重载。 将主机名或IP地址解析为IPHostEntry实例 |
| Resolve | 将DNS主机名或IP地址解析为IPHostEntry实例 |
下面对比较重要的方法进行详细介绍。
(1)GetHostAddresses方法
返回指定主机的Internet协议(IP)地址。
语法:
|
1
2
3
|
public static IPAddress[] GetHostAddresses ( string hostNameOrAddress) |
参数:
hostNameOrAddress:要解析的主机名或IP地址。
返回值:一个IPAddress类型的数组,该类型保存由hostNameOrAddress参数指定的主机的IP地址。
(2)GetHostByAddress方法
获取IP地址的DNS主机信息(以发生成重载),重载方法为为Dns.GetHostByAddress (IPAddress)和Dns.GetHostByAddress (String),下面分别进行介绍。
l Dns.GetHostByAddress (IPAddress)
根据指定的IPAddress创建IPHostEntry实例。
语法:
|
1
2
3
4
|
public static IPHostEntry GetHostByAddress( IPAddress address) |
参数:
address:一个IPAddress。
返回值:一个IPHostEntry。
l Dns.GetHostByAddress (String)
根据IP地址创建IPHostEntry实例。
语法:
|
1
2
3
4
|
public static IPHostEntry GetHostByAddress( string address) |
参数:
address:IP地址。
返回值:一个IPHostEntry实例。
(3)GetHostName方法
获取本地计算机的主机名。
语法:
public static string GetHostName ()
返回值:包含本地计算机的DNS主机名的字符串。
(4)Resolve方法
将DNS主机名或IP地址解析为IPHostEntry实例。
语法:
|
1
2
3
4
|
public static IPHostEntry Resolve( string hostName) |
参数:
hostName:DNS样式的主机名或IP地址。
返回值:一个IPHostEntry实例,包含有关hostName中指定的主机的地址信息。
下面列举几种常用的DNS类的使用方法。
获得主机名的实现代码如下:
|
1
2
3
4
5
6
7
|
private void button1_Click(object sender, EventArgs e) { String hostName = Dns.GetHostName(); IPHostEntry ipH = new IPHostEntry(); ipH = Dns.Resolve(hostName); this.textBox1.Text = hostName; } |
根据IP或计算机名获得计算机名的实现代码如下:
|
1
2
3
4
5
6
|
private void button2_Click(object sender, EventArgs e) { IPHostEntry hostInfo = Dns.Resolve(this.textBox1.Text.Trim().ToString()); string strHost = hostInfo.HostName.ToString(); MessageBox.Show(strHost); } |
获得IP列表的实现代码如下:
|
1
2
3
4
5
6
7
|
private void button4_Click(object sender, EventArgs e) { IPHostEntry IPH = Dns.GetHostByName(this.textBox1.Text); IPAddress[] myIp = IPH.AddressList; foreach (IPAddress ips in myIp) MessageBox.Show(ips.ToString()); } |
原文地址:http://tech.ddvip.com/2008-11/122587395089331.html
[转载]C#.NET中Dns类的常用方法及说明的更多相关文章
- C#.NET中Dns类的常用方法及说明
IP是一种普遍应用于因特网.允许不同主机能够相互找到对方的寻址协议.IP地址由4个十进制的数字号码所组成,而每一个号码的值介于0~255之间,它虽然解决了网络上计算机的识别问题,但是IP地址确不容易记 ...
- 【转载】Java中String类的方法及说明
转载自:http://www.cnblogs.com/YSO1983/archive/2009/12/07/1618564.html String : 字符串类型 一. String sc_ ...
- java中File类的常用方法总结
java中File类的常用方法 创建: createNewFile()在指定的路径创建一个空文件,成功返回true,如果已经存在就不创建,然后返回false. mkdir() 在指定的位置创建一个此抽 ...
- 【转载】C#中SqlCommand类的作用以及常用方法
在C#的数据库操作过程中,SqlCommand类一般用于Sqlserver数据库的SQL语句的执行,包括Select语句.Update语句.Delete语句以及SQL存储过程等,SqlCommand的 ...
- 【转载】C#中SqlConnection类的作用以及常用方法
在C#的数据库编程中,SqlConnection类主要用于连接Sqlserver数据库,使用SqlConnection类的实例方法我们可以打开Sqlserver数据库连接以及获取数据完毕后关闭数据库连 ...
- 【转载】C#中string类使用Replace方法来替换字符串
在C#的字符串操作过程中,有时候需要替换字符串中的某个子字符串,此时就可以使用到字符串类自带的Replace方法来实现,Replace方法将查找到所有符合被替换的子字符串,然后将之全部替换为目标字符串 ...
- 【转载】C#中string类使用Remove方法来移除指定位置的字符
在C#的字符串操作过程中,有时候需要将字符串中指定位置的字符移除,此时就可能使用到字符串类string类中的Remove方法,此方法允许指定移除开始的开始的索引位置,以及移除的长度信息等,共有2个重载 ...
- 【转载】C#中string类使用Substring方法截取字符串
在C#的字符串操作过程中,截取字符串是一种常见的字符串操作,可使用string类的Substring方法来完成字符串的截取操作,该方法支持设定截取的开始位置以及截取的字符串长度等参数,Substrin ...
- Java中TimeZone类的常用方法
一.TimeZone类的定义 TimeZone类是一个抽象类,主要包含了对于时区的各种操作,可以进行计算时间偏移量或夏令时等操作 二.TimeZone类的常用方法 1.getAvailableIDs( ...
随机推荐
- 关于Patter类和Match类
部分引用自: http://developer.51cto.com/art/200906/131761.htm 本文将介绍Java正则表达式中的Pattern类与Matcher类.首先我们要清楚指定为 ...
- 关于SWT/JFace的事件模型的四种方式
事件的4种写法 1.匿名内部类方式的写法 2.命名内部类的写法 3.外部类写法 4.实现监听接口的写法 第一种用匿名内部类的方法: public class HelloWorld { private ...
- Android -tool工具UIautomatorviewer提示“不能让屏幕黑屏”
Android中有很多工具可以让我们使用,我使用比较多的有属DDMS,UIautomatorviewer,DDMS中信息也很强大,有空的时候在理理 这篇博主写的很详细:http://www.cnblo ...
- .NET学习笔记(4) — C#数据类型
目录 一:C#数据类型介绍 二:值类型和引用类型的区别和联系? 三:堆内存和栈内存? 四:参考资料 一:C#数据类型介绍 1:初识C#预定义数据类型 在C#的语言体系中,表示具体数据格式的规范 ...
- JAXB - Annotations, Controlling Element Selection: XmlAccessorType, XmlTransient
If JAXB binds a class to XML, then, by default, all public members will be bound, i.e., public gette ...
- Android调用系统相机以及自定义相机
0.综述 自定义相机,此处展示简单的相机功能,官方文档中还有相应关于视频拍摄的内容,此处不提 1.添加权限 <!--相机权限,数据存储--> <uses-permission and ...
- iOS-学习路线图(推荐)
在学习一个新的知识时,除了保持积极的态度.对知识的渴望,学习路线以及方法也是很重要的.在学习iOS的时候,遇到这样的情况,非常想去学习,提高,但是没有一个学习路线,不知道从哪里入手,该先学什么.在学什 ...
- artice与section的区别
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- [转]JavaScript去重的6种方法
Array.prototype.unique1 = function() { var n = []; for(var i = 0; i < this.length; i++) { if (n.i ...
- 手把手教你写电商爬虫-第三课 实战尚妆网AJAX请求处理和内容提取
版权声明:本文为博主原创文章,未经博主允许不得转载. 系列教程: 手把手教你写电商爬虫-第一课 找个软柿子捏捏 手把手教你写电商爬虫-第二课 实战尚妆网分页商品采集爬虫 看完两篇,相信大家已经从开始的 ...