最近,由於設計需要,軟體中需要得到機器的IP地址,並做記錄。最後,我選擇了用DNS類並得到機器的IP地址的方法。
System.Net名稱空間中的DNS類可以用來得到機器名稱和IP地址。 DNS類提供類簡單的網域名稱解釋函數。DNS 類為處理Internet網域名稱(DNS)資訊提供支援.這些返回的資訊包括多重的IP地址和主機別名。返回的列表是一個集合或IPAddress對象數組。以下代碼顯示了如何通過給定的主機名稱得到IP地址。
代碼如下:
namespace Dnstilities{using System;using System.Net;public class DNS{public static int Main (string [] args){String strHostName = new String ("");if (args.Length == 0){// 首先得到本地機器的主機名稱strHostName = DNS.GetHostName ();Console.WriteLine ("Local Machine''s Host Name: " + strHostName);}else{strHostName = args[0];}// 然後通過主機名稱得到IP地址清單IPHostEntry ipEntry = DNS.GetHostByName (strHostName);IPAddress [] addr = ipEntry.AddressList;for (int i = 0; i < addr.Length; i++){Console.WriteLine ("IP Address {0}: {1} ", i, addr[i].ToString ());}return 0;}}}
代碼的解釋
如果想得到本地機器的主機名稱,你可以不加參數調用GetHostName方法。然後你可以用返回的結果作為參數調用GetHostByName方法得到IPAddresses列表,然後遍曆addresses集合得到主機的IP地址。
好了,現在你可以記錄你得到的IP了。