[转载]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( ...
随机推荐
- Oracle计算连续天数,计算连续时间,Oracle连续天数统计
Oracle计算连续天数,计算连续时间,Oracle连续天数统计 >>>>>>>>>>>>>>>>> ...
- yii下使用oracle中文都变成问号乱码的解决方法
在配置文件中,一般会用以下配置: 'db_oracle'=>array( 'class' => 'CDbConnection', 'connectionString'=>'oci:d ...
- 用js实现简单排序算法
一.冒泡排序 var arr1=[3,9,2,7,0,8,4]; for(var i=0;i<arr1.length;i++){ for(var j=i+1;j<arr1.length;j ...
- JavaScript类型检测, typeof操作符与constructor属性的异同
*#type.js function Person(name, age) { this.name = name; this.age = age; } var d = {an: 'object'}; v ...
- 第四章 jQuery中的事件
1.加载DOM jQuery中,在$(document).ready()方法内注册的事件,只要DOM就绪就会被执行,此时可能元素的关联文件未下载完. jQuery中的 load()方法,会在元素的on ...
- SpringMVC注册拦截器
方法1: 拦截所有URL <mvc:interceptors> <bean class="cn.ciss.interceptor.LoginInterceptor" ...
- C#学习笔记4:关键词大小写、复合格式化等
1.取消选择的单选按钮值 RadioButton1.Checked=RadioButton2.Checked = false;//RadioButton1.Text = RadioButto ...
- 学习笔记4_ServletContext(重要整个Web应用的动态资源之间共享数据)
ServletContext(重要) 一个项目只有一个ServletContext对象! 我们可以在N多个Servlet中来获取这个唯一的对象,使用它可以给多个Servlet传递数据! 与天地同寿!! ...
- 用函数的地址调用函数 C++ MFC
先说一段废话,幸亏我汇编基础(基础 基础 基础)扎实,否则这个问题真的恶心到我了正题 因为有特殊需求, 需要写一个类似于接口的功能,但是因为用到的次数不多再加上C++写接口各种麻烦所以想通过函数的地 ...
- [Guava官方文档翻译] 7. Guava的Immutable Collection(不可变集合)工具 (Immutable Collections Explained)
我的技术博客经常被流氓网站恶意爬取转载.请移步原文:http://www.cnblogs.com/hamhog/p/3538666.html ,享受整齐的排版.有效的链接.正确的代码缩进.更好的阅读体 ...