Windows Phone 7 Mango支持UDP广播吗?

本文关键字:广播 UDP 支持 Phone Mango Windows | 更新日期: 2023-09-27 18:10:55

根据MSDN文档Mango不支持UDP广播。根据这条线索,这是可能的。有人有任何经验与UDP在电话7?如能提供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 7 Mango支持UDP广播吗?

Windows Phone OS 7.1支持TCP单播、UDP单播和UDP组播客户端(OS 7.1意味着Windows Phone 7.5/Mango)

下面是Socket类文档的链接:http://msdn.microsoft.com/en-us/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芒果上广播UDP数据包?

有一些OS固件UDP性能不佳的报告:http://connect.microsoft.com/VisualStudio/feedback/details/690198/poor-udp-performance-in-windows-phone-7-mango

上面的代码在WP7中不起作用,这是因为SetSocketOption是在c#中定义的,而不是在Silverlight中定义的。因此,上述可能在您的计算机上工作,但它甚至不会在WP7上编译!

至于实际的答案,我认为罗尼已经回答得很好"TCP单播,UDP单播和UDP多播客户端支持",除非有人能在WP7上发布一些支持UDP广播的代码,否则答案仍然是"NO"。