IPAddress,IPEndPoint,IPHostEntry位於命名空間System.Net下,提供對IP地址的操作
IPAddress是.NET封裝的IP地址類
常用方法:
1、IPAddress.Parse()
public static IPAddress Parse (string ipString),這個方法得目的就是將一個ipString轉換成為IPAddress類型。
2、IPAddress.Loopback、IPAddress.Broadcast、IPAddress.Any、IPAddress.None都是IPAddress得幾個域成員,它們得傳回值類型都是IPAddress
class IPAddressSample{ public static void Main() { //建立5個IPAddress對象,並賦值 IPAddress newaddress1 = IPAddress.Parse("192.168.1.1");//把192.168.1.1轉換為IPAddress IPAddress newaddress2 = IPAddress.Loopback;//本地迴路位址 IPAddress newaddress3 = IPAddress.Broadcast;//廣播位址 IPAddress newaddress4 = IPAddress.Any; IPAddress newaddress5 = IPAddress.None; /*用System.net.dns類中的GetHostEntry()和GetHostName()方法來建立一個本 地IP地址,並且建立了一個IPHostEntry對象。用以下兩句代碼來擷取本地IP 地址*/ IPHostEntry here = Dns.GetHostEntry(Dns.GetHostName()); IPAddress localaddress = here.AddressList[0]; //判斷newaddress2地址是否為迴路位址 if (IPAddress.IsLoopback(newaddress2)) Console.WriteLine("The Loopback address is: {0}", newaddress2.ToString()); else Console.WriteLine("Error obtaining the loopback address"); //列印本地IP地址 Console.WriteLine("The Local IP address is: {0}\n", localaddress.ToString()); //判斷本地IP地址是否為迴路位址 if (localaddress == newaddress2) Console.WriteLine("The loopback address is the same as local address.\n"); else Console.WriteLine("The loopback address is not the local address.\n"); //列印其他IP地址 Console.WriteLine("The test address is: {0}", newaddress1.ToString()); Console.WriteLine("Broadcast address: {0}", newaddress3.ToString()); Console.WriteLine("The ANY address is: {0}", newaddress4.ToString()); Console.WriteLine("The NONE address is: {0}", newaddress5.ToString()); //用console.readling()使程式在執行完上述代碼後不立即退出,在使用者輸入斷行符號鍵之後退出程式 Console.ReadLine(); }
IPEndPoint代表網路端點的IP地址和連接埠號碼
執行個體化IPEndPoint
IPAddress newaddress = IPAddress.Parse("192.168.1.1"); IPEndPoint ex = new IPEndPoint(newaddress,8000); //建立IPEndPoint執行個體
常用屬性和方法
ex.Address返回IpEndPoint執行個體的IP地址
ex.Port返回IpEndPoint執行個體的連接埠
class IPEndPointSample{ public static void Main() { IPAddress newaddress = IPAddress.Parse("192.168.1.1"); //建立IPEndPoint執行個體 IPEndPoint ex = new IPEndPoint(newaddress,8000); Console.WriteLine("The IPEndPoint is:{0}", ex.ToString()); Console.WriteLine("The AddressFamily is:{0}", ex.AddressFamily); Console.WriteLine("The Address is:{0},and the port is:{1}", ex.Address, ex.Port); Console.WriteLine("The Min Port Number is:{0}", IPEndPoint.MinPort); Console.WriteLine("The Max Port Number is:{0}", IPEndPoint.MaxPort); //用port屬性單獨改變IPEndPoint對象的連接埠值 ex.Port = 80; Console.WriteLine("The changed IPEndPoint vaule is:{0}", ex.ToString()); //儲存IPEdnPoint執行個體 SocketAddress sa = ex.Serialize(); Console.WriteLine("The Socketaddress is:{0}", sa.ToString()); Console.ReadLine(); }}
IPHostEntry代表某一IP的實體
class IPHostEntryClassSample{ public static void Main(string[] argv) { IPHostEntry results = Dns.GetHostEntry(IPAddress.Parse("127.0.0.1")); Console.WriteLine("Host name: {0}", results.HostName); foreach (string alias in results.Aliases) { Console.WriteLine("Alias: {0}", alias); } foreach (IPAddress address in results.AddressList) { Console.WriteLine("Address: {0}", address.ToString()); } }}
執行個體下載:
IPAddressSample
IPEndPointSample
IPHostEntrySample
class IPAddressSample{ public static void Main() { //建立5個IPAddress對象,並賦值 IPAddress newaddress1 = IPAddress.Parse("192.168.1.1");//把192.168.1.1轉換為IPAddress IPAddress newaddress2 = IPAddress.Loopback;//本地迴路位址 IPAddress newaddress3 = IPAddress.Broadcast;//廣播位址 IPAddress newaddress4 = IPAddress.Any; IPAddress newaddress5 = IPAddress.None; /*用System.net.dns類中的GetHostEntry()和GetHostName()方法來建立一個本 地IP地址,並且建立了一個IPHostEntry對象。用以下兩句代碼來擷取本地IP 地址*/ IPHostEntry here = Dns.GetHostEntry(Dns.GetHostName()); IPAddress localaddress = here.AddressList[0]; //判斷newaddress2地址是否為迴路位址 if (IPAddress.IsLoopback(newaddress2)) Console.WriteLine("The Loopback address is: {0}", newaddress2.ToString()); else Console.WriteLine("Error obtaining the loopback address"); //列印本地IP地址 Console.WriteLine("The Local IP address is: {0}\n", localaddress.ToString()); //判斷本地IP地址是否為迴路位址 if (localaddress == newaddress2) Console.WriteLine("The loopback address is the same as local address.\n"); else Console.WriteLine("The loopback address is not the local address.\n"); //列印其他IP地址 Console.WriteLine("The test address is: {0}", newaddress1.ToString()); Console.WriteLine("Broadcast address: {0}", newaddress3.ToString()); Console.WriteLine("The ANY address is: {0}", newaddress4.ToString()); Console.WriteLine("The NONE address is: {0}", newaddress5.ToString()); //用console.readling()使程式在執行完上述代碼後不立即退出,在使用者輸入斷行符號鍵之後退出程式 Console.ReadLine(); }
class IPAddressSample{ public static void Main() { //建立5個IPAddress對象,並賦值 IPAddress newaddress1 = IPAddress.Parse("192.168.1.1");//把192.168.1.1轉換為IPAddress IPAddress newaddress2 = IPAddress.Loopback;//本地迴路位址 IPAddress newaddress3 = IPAddress.Broadcast;//廣播位址 IPAddress newaddress4 = IPAddress.Any; IPAddress newaddress5 = IPAddress.None; /*用System.net.dns類中的GetHostEntry()和GetHostName()方法來建立一個本 地IP地址,並且建立了一個IPHostEntry對象。用以下兩句代碼來擷取本地IP 地址*/ IPHostEntry here = Dns.GetHostEntry(Dns.GetHostName()); IPAddress localaddress = here.AddressList[0]; //判斷newaddress2地址是否為迴路位址 if (IPAddress.IsLoopback(newaddress2)) Console.WriteLine("The Loopback address is: {0}", newaddress2.ToString()); else Console.WriteLine("Error obtaining the loopback address"); //列印本地IP地址 Console.WriteLine("The Local IP address is: {0}\n", localaddress.ToString()); //判斷本地IP地址是否為迴路位址 if (localaddress == newaddress2) Console.WriteLine("The loopback address is the same as local address.\n"); else Console.WriteLine("The loopback address is not the local address.\n"); //列印其他IP地址 Console.WriteLine("The test address is: {0}", newaddress1.ToString()); Console.WriteLine("Broadcast address: {0}", newaddress3.ToString()); Console.WriteLine("The ANY address is: {0}", newaddress4.ToString()); Console.WriteLine("The NONE address is: {0}", newaddress5.ToString()); //用console.readling()使程式在執行完上述代碼後不立即退出,在使用者輸入斷行符號鍵之後退出程式 Console.ReadLine(); }