程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> C#.NET中Dns類的常用方法及說明

C#.NET中Dns類的常用方法及說明

編輯:關於C#

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)地址。

語法:

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實例。

語法:

public static IPHostEntry GetHostByAddress
(
IPAddress address
)

參數:

address:一個IPAddress。

返回值:一個IPHostEntry。

l     Dns.GetHostByAddress (String)

根據IP地址創建IPHostEntry實例。

語法:

public static IPHostEntry GetHostByAddress
(
string address
)

參數:

address:IP地址。

返回值:一個IPHostEntry實例。

(3)GetHostName方法

獲取本地計算機的主機名。

語法:

public static string GetHostName ()

返回值:包含本地計算機的DNS主機名的字符串。

(4)Resolve方法

將DNS主機名或IP地址解析為IPHostEntry實例。

語法:

public static IPHostEntry Resolve
(
string hostName
)

參數:

hostName:DNS樣式的主機名或IP地址。

返回值:一個IPHostEntry實例,包含有關hostName中指定的主機的地址信息。

下面列舉幾種常用的DNS類的使用方法。

獲得主機名的實現代碼如下:

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或計算機名獲得計算機名的實現代碼如下:

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列表的實現代碼如下:

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());
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved