我對獲取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