[英]Does Windows Phone 7 Mango support UDP broadcast?
根据MSDN文档, Mango不支持UDP广播。 根据这个线索,这是有可能的。 有人在Phone 7上使用UDP有经验吗? C#中的代码片段将不胜感激。
编辑:我们做了一些进一步的调查。 以下代码似乎有效
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, true);
byte[] data = Encoding.UTF8.GetBytes("test data");
SocketAsyncEventArgs a = new SocketAsyncEventArgs();
a.RemoteEndPoint = new IPEndPoint(IPAddress.Broadcast, 11000);
a.SetBuffer(data, 0, data.Length);
a.Completed += new EventHandler<SocketAsyncEventArgs>(delegate(object s, SocketAsyncEventArgs e)
{
Console.WriteLine(e.SocketError);
// here you can call socket.SendToAsync(sendEventArgs);
});
socket.ConnectToAsync(a);
在SendToAsync之前调用ConnectToAsync是必不可少的,否则您将获得拒绝访问的异常。 UDP至少在模拟器中似乎可以以某种方式工作。 问题是,它可以实时运行吗?为什么文档说不行?
对于Windows Phone OS 7.1,支持TCP单播,UDP单播和UDP多播客户端(OS 7.1表示Windows Phone 7.5 / Mango)
这是有关套接字类的文档的链接: http : //msdn.microsoft.com/zh-cn/library/attbb8f5(v=VS.95).aspx
这是带有示例代码的博客链接: http : //www.pitorque.de/MisterGoodcat/post/Windows-Phone-7-Mango-Sockets.aspx
还有http://borntolearn.mslearn.net/wpmango/m/mediagallery/default.aspx中 “ 09-DemoCode Networking”下的更多示例代码
这是另一条可能激发您灵感的消息: 如何在WP7 Mango上广播UDP数据包?
有报告说Som OS固件的UDP性能不佳: http : //connect.microsoft.com/VisualStudio/feedback/details/690198/poor-udp-performance-in-windows-phone-7-mango
上面的代码在WP7中不起作用,这是出于以下简单原因:SetSocketOption是在C#中定义的,而不是在Silverlight中定义的。 因此以上内容可能会在您的计算机上运行,但甚至无法在WP7上编译!
至于实际答案,我认为Ronny回答得很好:“支持TCP单播,UDP单播和UDP多播客户端”,除非有人可以在WP7上发布一些支持UDP广播的代码,否则答案仍然为“否”。
我认为该线程应该关闭。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.