Windows Phone 8外部IP与本地主机名

时间:2013-09-02 19:59:57

标签: c# sockets windows-phone-8 udp

我的目的是通过互联网在Windows Phone 8上接收UDP消息。

- >第一个问题:假设这是可能的,我错了吗?

测试设置:

  • 关闭WIFI,
  • 上的手机数据
  • 运行NetworkInformation.GetHostNames()我得到一个主机,其IANA网络代码为344,IP地址为“10.146.8.159”。
  • 在浏览器中同时打开icanhazip.com,我的IP地址为“192.230.159.176”。

- >第二个问题:为什么这两个IP地址不同?

我的代码是:

public async void Start()
{
  m_rxSocket = new DatagramSocket();
  m_rxSocket.MessageReceived += MessageReceived;
  await m_rxSocket.BindServiceNameAsync("57000");
}

private async void MessageReceived(DatagramSocket sender, DatagramSocketMessageReceivedEventArgs socketEventData)
{
  // This is never called
}

问题是永远不会调用MessageReceived方法:

  • 通过互联网发送UDP消息到10.146.8.159以及192.230.159.176
  • 注册ID_CAP_NETWORKING

- >第三个问题:为什么上面的设置没有收到任何消息?

( - >第四个问题:其他人都认为使用silverlight进行wp开发优于这个嗅到C ++的新api ......)

1 个答案:

答案 0 :(得分:0)

您好我发现了什么问题:

缺乏UDP打孔是造成这种行为的原因,并添加了UDP打孔解决方案以使其正常工作。