亲身实验过的两种方法,都可行。
以下代码为C#控制台程序代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net; //使用方法一需要用到
using System.Net.Sockets; //使用方法二需要用到
namespace GetLocalIp
{
class Program
{
static void Main(string[] args)
{
//方法一:
Console.WriteLine("方法一:");
string hostName = Dns.GetHostName();//本机名
Console.WriteLine("主机名:" + hostName);//输出主机名
System.Net.IPAddress[] ipHost = Dns.GetHostAddresses(hostName);//会返回所有地址,包括IPv4和IPv6
foreach (IPAddress ip in ipHost)
{
Console.WriteLine(ip.ToString());
}
/*方法二:
* 下面的AddressList是一个IPAddress[]类型,这里面存放了系统的所有IP地址,有IPv4的,有IPv6的,
* 还有不同网卡的也会在这里面。在Win7下默认启用了IPv6,上面这段代