如何获取主机的IP址址
(如需轉載,請注明文章來自http://www.aspcn.com 謝謝合作)
這篇文章,我們不準備大規模的討論技術問題。只是向大家介紹一下我們將如何獲得一臺主機的IP地址。在Win32 API中我們可以使用NetWork API完成這項工作,但是在.Net平臺下我們應當如何做呢?其實操作方法與API差不多,只是大家要理解一下Namespace與Class。本站這方面的文章很多,關于Namespace與Class的內容就不介紹了。
.Net平臺存在System.Net命名空間,其中的DNS類,提供了一些方法可以獲取服務器的服務名或者是IP地址。DNS是一個靜態類,所以它能夠直接創建類實例。閑話少說,我們來看具體的程序:
namespace NKUtilities
{
using System;
using System.Net;
public class DNSUtility
{
public static int Main (string [] args)
{
String strHostName = new String ("");
if (args.Length == 0)
{
// 獲得本地的IP地址
//首先獲了本地機的主機名
strHostName = DNS.GetHostName ();
Console.WriteLine ("Local Machine's Host Name: " + strHostName);
}
else
{
strHostName = args[0];
}
// 接著使用主機名,獲取IP地址列表
// 一臺主機可能不只一個IP哦,不要被某些人誤導了,呵呵,想想以前的163與169就知道了
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方法,以獲取IPAddress列表。最后是輸出列表中的IP地址。
總結
以上是生活随笔為你收集整理的如何获取主机的IP址址的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何用asp.net向其他服务器post
- 下一篇: 在DataGrid中显示图片