关于C# 获取IP的问题


[]
private string GetLocalIp()
{
string hostname;
IPHostEntry localhost;
IPAddress localaddr;

hostname = System.Net.Dns.GetHostName();
localhost = System.Net.Dns.GetHostByName(hostname);
localaddr = localhost.AddressList[0];
return localaddr.ToString();
}

我使用以上代码进行获取IP,不过VS2010提示System.Net.Dns.GetHostByName(hostname);是过时代码,我应该用什么代码替换??
private string GetLocalIp()
{
string hostname;
IPHostEntry localhost;
IPAddress localaddr;
hostname = System.Net.Dns.GetHostName();
localhost = System.Net.Dns.GetHostEntry(hostname);
localaddr = localhost.AddressList[0];
return localaddr.ToString();
}

游戏玩家你连问题都不看吗??

游戏玩家你连答案也不看吗?

额,我的错

我再就是个问题,我有一个虚拟机,虚拟机再就是一个IP,我如何分辨,再就是我的机器装有IPV6,这又如何分辨
public static void DoGetHostEntry(string hostname)
{
IPHostEntry host;
host = Dns.GetHostEntry(hostname);
Console.WriteLine("GetHostEntry({0}) returns:", hostname);
foreach (IPAddress ip in host.AddressList)
{
Console.WriteLine(" {0}", ip);
}
}
看这个例子,AddressList是一个包含全部IP地址的列表,不过这里localaddr = localhost.AddressList[0];
只用了第一个,能够考虑返回AddressList取得这个列表。

这个我明白,不过不同的机器有不同的情况,人为能够分辨出哪个是使用的,不过把软件应用于电脑,恰好有多个IP(比如有虚拟机),我如何找出他真正的局域网内的IP呢??望回答,谢谢
这个就不是容易的程序能判断的了,看下面这种方法:

游戏玩家们都知道网卡的MAC地址能够从DOS窗口中通过输入"ipconfig /all"命令运行结果获得,那么这个问题的具体内容是:
 在C#中运行一个dos命令,并截取相关输出、输出流。
 具体代码如下:

tbResult.Text = "";
 ProcessStartInfo start = new ProcessStartInfo("Ping.exe"); //设置运行的命令行文件问ping.exe文件,这个文件游戏系统会游戏玩家你自己找到
 //假如是其它exe文件,则有可能需要指定详细路径,如运行winRar.exe
 start.Arguments = txtCommand.Text; //设置命令参数
 start.CreateNoWindow = true; //不显示dos命令行窗口
 start.RedirectStandardOutput = true; //
 start.RedirectStandardInput = true; //
 start.UseShellExecute = false; //是否指定操作游戏系统外壳进程启动程序
 Process p=Process.Start(start);
 StreamReader reader = p.StandardOutput; //截取输出流
 string line = reader.ReadLine(); //每次读取一行
 while (!reader.EndOfStream)
 {
 tbResult.AppendText(line+" ");
 line = reader.ReadLine();
 }
 p.WaitForExit(); //等待程序执行完退出进程
 p.Close(); //关闭进程
 reader.Close(); //关闭流

这样能够获得网卡的Description,这个是网卡的型号,VMware的好像都是VMNet开头的吧,Virtual PC与Virtual Box是什么就不记得了,针对每种虚拟机来判断吧。该文章转自[花果山动漫游戏网]原文链接:http://www.hgs521.com/pciphone/2011/0213/45217.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值