获取套接字/网络接口的本地IP地址

获取套接字/网络接口的本地IP地址

问题描述:

我正在尝试为Windows Phone编写VoIP客户端,并且找不到任何方法来获取电话的本地IP地址。我可以获得其公共IP(通过STUN或访问http://www.whatismyip.org/或类似网站),但如果双方都在同一本地网络上,则所有连接尝试均失败。有没有办法做到这一点?获取套接字/网络接口的本地IP地址

+0

翻翻Windows Phone 7的API,似乎微软不允许访问这些信息。 – ewanm89

+0

哦,至少我试过了:( – lhchavez

您只能访问HTTP层。所以只有公共IP。

+0

在芒果我们也可以使用套接字API,但是这对恐怕没有任何帮助 –

+0

是的,即使有芒果套接字,也无法获得本地ip address。 – lhchavez

+0

你可以告诉它是wifi还是3G或者CDMA或者其他什么连接方式,以及移动运营商。但是这似乎是最无害的信息,本地IP地址是不行的。 – ewanm89

使用UdpAnySourceMulticastClient有这个问题的解决方案。 它会在本地网络中找到您的地址。当你只在一台路由器后面时,这很有效。当有多个路由器时,您可以开始思考以更复杂的方式解决网络问题。

采取安迪彭内尔的博客更好看: http://blogs.msdn.com/b/andypennell/archive/2011/08/11/finding-your-own-ip-address-on-windows-phone-mango.aspx

Windows.Networking.Connectivity.NetworkInformation.GetHostNames()