我对获取PC的IP地址有点困惑。我有一个winforms应用程序运行在多台电脑。某些情况下的应用程序必须向其他应用程序发送消息。为此,我向数据库写入关于运行应用程序的pc的信息,其中数据是IP地址。这个想法是使用WCF来通信和广播消息到正在运行的应用程序。 所以,问题是我怎样才能得到工作的IP地址。用一个以太网ip地址,一个wi fi地址和一个vmware地址来映像一个笔记本。我必须选择哪一个?获取使用的IP
这是我使用的代码。但是在笔记本的情况下,它正在返回虚拟机的地址,并且它是无用的。
private String GetMyIp()
{
String ipAddress =
System.Net.Dns.GetHostEntry(
System.Net.Dns.GetHostName())
.AddressList.First(i => i.AddressFamily.Equals(
System.Net.Sockets.AddressFamily.InterNetwork))
.ToString();
return ipAddress;
}
主要想法是获取具有连接的IP地址。希望清楚。
在此先感谢。
在一行中干扰所有的代码使得难以阅读和难以调试(如果不是不可能的话)。 – 2012-07-19 13:17:33
@SteveWellens--也许他正在模仿流利的api! :) – EkoostikMartin 2012-07-19 13:20:03
如果没有IPv4地址,“First”将失败,并发生异常。 – spender 2012-07-19 13:24:14