当前位置:编程学习 > C#/ASP.NET >>

C#获取本机IP

我网卡上有四个IP:
192.168.0.5
192.168.0.6
192.168.0.7
192.168.0.8
并且还有可能再增加
现在使用的是192.168.0.7

我看了网上不少的方法都是获取第一个,但第一个不是我在使用的IP地址。
我看了现在使用的是第三个地址,但加了一地址后就变了第四个地址。

有没有牛人能帮忙解决,csdn已经让我失望N多次了,希望这次不要再失望

是用C#获取 C# IP --------------------编程问答-------------------- 你的规则是什么?如果你需要第三个ip,可以排序下
List<string> list = new List<string>() { "192.168.0.5", "192.168.0.6", "192.168.0.7" , "192.168.0.8" };
string ip = list[3]; --------------------编程问答-------------------- private void GetIP()  
 {  
     string hostName = Dns.GetHostName();//本机名    
     System.Net.IPAddress[] addressList = Dns.GetHostAddresses(hostName);//会返回所有地址,包括IPv4和IPv6   
     foreach (IPAddress ip in addressList)  
     {  
         listBox1.Items.Add(ip.ToString());  
     }  
 }

具体请参看
http://www.cnblogs.com/wangshenhe/archive/2012/11/16/2773217.html
希望对你有帮助! --------------------编程问答-------------------- 试一试这个代码:


 foreach (NetworkInterface netInterface in NetworkInterface.GetAllNetworkInterfaces())
  {
    Console.WriteLine("Name: " + netInterface.Name);
    Console.WriteLine("Description: " + netInterface.Description);
    Console.WriteLine("Addresses: ");
    IPInterfaceProperties ipProps = netInterface.GetIPProperties();
    foreach (UnicastIPAddressInformation addr in ipProps.UnicastAddresses)
    {
      Console.WriteLine(" " + addr.Address.ToString());
    }
    Console.WriteLine("");
  }


具体你使用的是哪一个,就得你自己判断了。

代码来自:
http://stackoverflow.com/questions/5271724/get-all-ip-addresses-on-machine --------------------编程问答--------------------
引用 3 楼 findcaiyzh 的回复:
试一试这个代码:


 foreach (NetworkInterface netInterface in NetworkInterface.GetAllNetworkInterfaces())
  {
    Console.WriteLine("Name: " + netInterface.Name);
    Console.WriteLine("Description: " + netInterface.Description);
    Console.WriteLine("Addresses: ");
    IPInterfaceProperties ipProps = netInterface.GetIPProperties();
    foreach (UnicastIPAddressInformation addr in ipProps.UnicastAddresses)
    {
      Console.WriteLine(" " + addr.Address.ToString());
    }
    Console.WriteLine("");
  }


具体你使用的是哪一个,就得你自己判断了。

代码来自:
http://stackoverflow.com/questions/5271724/get-all-ip-addresses-on-machine

++1 --------------------编程问答-------------------- --------------------编程问答--------------------
引用 5 楼 GOLF_R20 的回复:
--------------------编程问答--------------------  先遍历左右IP 然后在获取使用IP
 和本地有多少IP 没多大关系 --------------------编程问答-------------------- 这个不太懂,但是支持一个! --------------------编程问答-------------------- 怎么有这么多IP呢?多网卡? --------------------编程问答--------------------
引用 3 楼 findcaiyzh 的回复:
试一试这个代码:


 foreach (NetworkInterface netInterface in NetworkInterface.GetAllNetworkInterfaces())
  {
    Console.WriteLine("Name: " + netInterface.Name);
    Console.WriteLine("Description: " + netInterface.Description);
    Console.WriteLine("Addresses: ");
    IPInterfaceProperties ipProps = netInterface.GetIPProperties();
    foreach (UnicastIPAddressInformation addr in ipProps.UnicastAddresses)
    {
      Console.WriteLine(" " + addr.Address.ToString());
    }
    Console.WriteLine("");
  }


具体你使用的是哪一个,就得你自己判断了。

代码来自:
http://stackoverflow.com/questions/5271724/get-all-ip-addresses-on-machine
--------------------编程问答-------------------- 单网卡,有多个IP.现在要在网页上显示出正在使用的IP,同时还会通过网页向这个网卡再加IP地址和子网。
楼上这些方法都是将IP地址列出来了,并没有直接将正在使用的IP地址获取出来。

二楼的方法在现在只有四个地址的时候是第三个地址,但再加入IP地址后就不是第三个了。 --------------------编程问答-------------------- 这个看似很简单的问题,却难道一大堆。 --------------------编程问答-------------------- “我看了现在使用的是第三个地址,但加了一地址后就变了第四个地址。”这句话说得不是很明白。。。 --------------------编程问答-------------------- 顶起。。。 。。。
也想知道答案。 --------------------编程问答-------------------- 这个我用过,是装的虚拟机,很多个IP,要代码吗?
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,