我本来想写一个简单的桌面应用程序和相应的移动应用程序,方案是:
这样一个非常基本的应用就是在两者之间发送简单的短信
我想一个示例应用程序就像是手机上的PC的“遥控器”,可以在市场上找到here。
我开始研究UDP多播,并花了一天时间试图让它工作。想法是两个应用程序加入相同的多播组,加入时手机向该组发送消息,PC拿起它并用它的IP响应,然后手机与桌面应用程序建立TCP连接。听起来像是一个有效的解决方案,对吧?好吧,无论我怎样尝试,都会发生这种情况:
当我尝试使用sockets-for-pcl时,这是一篇包含代码的帖子
以下是我尝试使用.NET中已有的内容:
PC - 仅发送消息:
UdpClient udp = new UdpClient(port);
IPAddress group_ip = IPAddress.Parse("139.100.100.100");
IPEndPoint client_ipep = new IPEndPoint(group_ip, 3344);
byte[] b = System.Text.Encoding.UTF8.GetBytes(txtEntry.Text);
udp.Send(b, b.Length, client_ipep);
电话 - 仅接收:
HostName hostName = new HostName("139.100.100.100");
DatagramSocket udp = new DatagramSocket();
udp.MessageReceived += (sender, args) =>
{
uint length = args.GetDataReader().ReadUInt32();
string text = args.GetDataReader().ReadString(length);
};
await udp.BindServiceNameAsync("3344");
udp.JoinMulticastGroup(hostName);
然而,经过一天我放弃了,因为文档很少,调试需要我获得一些网络扫描工具......
当我在互联网上搜索某些用于网络服务发现的库时,我发现了一些Android docs,但没有找到Windows Phone 8.1的内容。所以我想我的问题是:Windows Phone有什么类似的吗?或者,如果您发现我的代码有任何问题,我需要更改哪些内容才能进行通信?感谢。