IPAddress,IPEndPoint,IPHostEntry介紹

來源:互聯網
上載者:User

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.