我正在尝试构建C#应用程序(桌面,Windows,现在并不重要),我希望使用套接字连接到我的Windows手机来传输一些数据...我知道如何实现这一目标,。
通过套接字连接时,我不想手动输入Windows Phone设备的IP地址。所以我想知道是否可以通过一些消息从Windows手机应用程序发送一些HTTP请求,并在计算机上获取该消息,以确定哪个IP是Windows Phone的IP?
换句话说,如何从网络设备的一堆IP地址知道哪个IP地址属于Windows手机的IP地址?
答案 0 :(得分:0)
从Here
获取此链接添加NameSpace:
使用Windows.Networking;
public static string FindIPAddress()
{
List<string> ipAddresses = new List<string>();
var hostnames = NetworkInformation.GetHostNames();
foreach (var hn in hostnames)
{
//IanaInterfaceType == 71 => Wifi
//IanaInterfaceType == 6 => Ethernet (Emulator)
if (hn.IPInformation != null &&
(hn.IPInformation.NetworkAdapter.IanaInterfaceType == 71
|| hn.IPInformation.NetworkAdapter.IanaInterfaceType == 6))
{
string ipAddress = hn.DisplayName;
ipAddresses.Add(ipAddress);
}
}
if (ipAddresses.Count < 1)
{
return null;
}
else if (ipAddresses.Count == 1)
{
return ipAddresses[0];
}
else
{
//if multiple suitable address were found use the last one
//(regularly the external interface of an emulated device)
return ipAddresses[ipAddresses.Count - 1];
}
}
修改强>
如果我错了你想从一堆IP地址获取特定的Windows Phone IP地址。 AFAIK你不能这样。但是我建议你在获取下面的Windows Phone IP时附加一些字符串,这与其他IP地址有所不同。通过自己查看。
string IPadd = FindIPAddress();
string WPIPadd = IPadd + " - Windows phone "
MessageDialog.show(WPIPadd);
如果您发现任何新的东西,请告诉我们。感谢