C#中如何得到机器的IP地址
生活随笔
收集整理的這篇文章主要介紹了
C#中如何得到机器的IP地址
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
如何使用DNS類并得到機器的IP地址的技巧
介紹
這篇文章并不是技術縱覽或大型討論,而更像是關于如何得到IP地址或主機名稱的技巧集錦。在 Win32 API編程中你可以使用NetWork API,在.NET平臺中也是類似的。唯一的不同之處是你要找到并理解為完成這個任務需要什么名稱空間(namespace)和類。在.NET平臺中NetWork API存在于System.Net名稱空間中。System.Net名稱空間中的DNS類可以用來得到機器名稱和IP地址。 DNS類提供類簡單的域名解釋函數(shù)。DNS 類為處理Internet域名(DNS)信息提供支持.這些返回的信息包括多重的IP地址和主機別名。返回的列表是一個集合或IPAddress對象數(shù)組。以下代碼顯示了如何通過給定的主機名稱得到IP地址。
DNSUtility代碼
namespace NKUtilities
{
using System;
using System.Net;
public class DNSUtility
{
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;
}
}
}
代碼的解釋
如果想得到本地機器的主機名,你可以不加參數(shù)調(diào)用GetHostName方法。然后你可以用返回的結果作為參數(shù)調(diào)用GetHostByName方法得到IPAddresses列表,然后遍歷addresses集合得到主機的IP地址。
提示
確認在你的代碼中已經(jīng)包含了System.Net名稱空間,否則編譯器將不知道如何找到DNS類。同樣,當你使用VisualStudio.NET創(chuàng)建工程的時候,要確認你的系統(tǒng)已經(jīng)包含System.NET.Dll。關于DNS類和System.Net名稱空間的更詳細的信息請參考.NET SDK在線文檔。?
?
介紹
這篇文章并不是技術縱覽或大型討論,而更像是關于如何得到IP地址或主機名稱的技巧集錦。在 Win32 API編程中你可以使用NetWork API,在.NET平臺中也是類似的。唯一的不同之處是你要找到并理解為完成這個任務需要什么名稱空間(namespace)和類。在.NET平臺中NetWork API存在于System.Net名稱空間中。System.Net名稱空間中的DNS類可以用來得到機器名稱和IP地址。 DNS類提供類簡單的域名解釋函數(shù)。DNS 類為處理Internet域名(DNS)信息提供支持.這些返回的信息包括多重的IP地址和主機別名。返回的列表是一個集合或IPAddress對象數(shù)組。以下代碼顯示了如何通過給定的主機名稱得到IP地址。
DNSUtility代碼
namespace NKUtilities
{
using System;
using System.Net;
public class DNSUtility
{
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;
}
}
}
代碼的解釋
如果想得到本地機器的主機名,你可以不加參數(shù)調(diào)用GetHostName方法。然后你可以用返回的結果作為參數(shù)調(diào)用GetHostByName方法得到IPAddresses列表,然后遍歷addresses集合得到主機的IP地址。
提示
確認在你的代碼中已經(jīng)包含了System.Net名稱空間,否則編譯器將不知道如何找到DNS類。同樣,當你使用VisualStudio.NET創(chuàng)建工程的時候,要確認你的系統(tǒng)已經(jīng)包含System.NET.Dll。關于DNS類和System.Net名稱空間的更詳細的信息請參考.NET SDK在線文檔。?
?
總結
以上是生活随笔為你收集整理的C#中如何得到机器的IP地址的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么打觉醒伊芙利特
- 下一篇: 使用C#开发COM+组件