我正在创建一个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应用程序之间有更好的通信方式吗?
答案 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();
}