UDP组播无法正常工作

时间:2014-02-20 10:29:02

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

我正在创建一个WPF桌面应用程序和Windows phone 8应用程序。我们的想法是能够在桌面应用程序中编写SMS并在它们位于同一网络时通过UDP多播发送到Windows phone 8 app。

在WP8中,我使用SMSComposeTask在手机中编写短信。在桌面方面,我使用了链接http://www.jarloo.com/c-udp-multicasting-tutorial/中找到的代码。在Windows Phone 8应用中,我已经按照文章http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh286407(v=vs.105).aspx进行了操作。

我能够将SMS消息发送到WP8模拟器。但是当我尝试将消息发送到Windows手机设备时,我没有收到任何短信。我在WP8设备上有最新的固件。我已经提到了链接http://social.msdn.microsoft.com/forums/wpapps/en-us/4eb2b9c1-5ada-422e-93a2-fbafe3a67491/udp-multicast-listener-not-working-on-wp8

桌面应用程序和Windows Phone 8应用程序之间有更好的通信方式吗?

1 个答案:

答案 0 :(得分:0)

我发现了这个问题。用于发送多播的网络是Windows手机内部网络。我将代码从udpclient.JoinMulticastGroup(multicastaddress);更改为IPAddress localAddress =IPAddress.Parse(GetIP());udpclient.JoinMulticastGroup(multicastaddress,localAddress);,其中GetIP函数为

private string GetIP()
{
     string strHostName = "";

     strHostName = System.Net.Dns.GetHostName();

     IPHostEntry ipEntry = System.Net.Dns.GetHostEntry(strHostName);

     IPAddress[] addr = ipEntry.AddressList;

     return addr[addr.Length-1].ToString();

   }