[转载]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( ...
随机推荐
- RabbitMQ 原文译02--工作队列
工作队列: 在上一篇文章中我们我们创建程序发送和接受命名队列中的消息,在这篇文章我会创建一个工作队列,用来把耗时的操作分配给多个执行者. 工作队列(任务队列)的主要实现思想是避免马上执行资源密集型的任 ...
- casperjs 抓取爱奇艺高清视频
CasperJS 是一个开源的导航脚本和测试工具,使用 JavaScript 基于 PhantomJS 编写,用于测试 Web 应用功能,Phantom JS是一个服务器端的 JavaScript A ...
- KKCapture 高清录像软
KKCapture是一款免费的高清录像软件.支持各种游戏录制,桌面录制,播放视频录制,操作非常简单. 软件特点 [1]1. 支持所有游戏录制,包括网络游戏.网页游戏.单机游戏,以及所有3D游戏.2 ...
- vim自动补全:go
1 环境配置 export GOPATH=/home/go 2 在新建GOPATH下新建三个目录 mkdir src pkg bin src 存放源码pkg 存放编译生成的文件bin 存放生成的可执行 ...
- Android Metro风格的Launcher开发系列第一篇
前言:从毕业到现在已经三年多了,回忆一下这三年基本上没有写过博客,总是觉得忙,没时间写,也觉得写博客没什么大用.但是看到很多大牛们都在写博客,分享自己的东西,所以嘛本着向大牛看齐,分享第一,记录第二的 ...
- Ext.Net学习笔记17:Ext.Net GridPanel Selection
Ext.Net学习笔记17:Ext.Net GridPanel Selection 接下来是Ext.Net的GridPanel的另外一个功能:选择. 我们在GridPanel最开始的用法中已经见识过如 ...
- 开启或关闭SQLSERVER服务的bat文件
界面如下: 因为电脑的SQLSERVER服务没有自己启动,有时候又需要关闭SQLSERVER服务,就自己在网上找了下教程. 源码如下: @echo offchoice /t 3 /c yn /d y ...
- lucene4.0 基于smb文件服务器的全文检索
使用lucene 4.0版本的全文检索 所需要的jar包 网速太慢,下次有空再把jar传上来 1.FileIndex 建立索引,查询,删除,更新 package com.strongit.tool ...
- Nwjs从入门到精通 菜鸟实践笔记【1】
最近公司有想使用Nw来开发浏览器的想法,自己一直学的PHP,在网上并没有找到太多的相关资料,所以,就自己摸索着撸一条自学笔记: 当然呢,这里记录的都是我自己学习中遇到的问题,以及收获,希望通过自己的分 ...
- winFrom窗体样式
ControlBox窗口样式:确定窗体是否有"控件/系统"菜单框. 设置为隐藏 False AutoSizeMode GrowAndShrink 指定用户界面元素自动调整自身大小 ...