Windows Phone 7 Mango是否支持UDP广播?

slf*_*fan 8 c# udp broadcast windows-phone-7

根据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);    
Run Code Online (Sandbox Code Playgroud)

必须在SendToAsync之前调用ConnectToAsync,否则会出现访问被拒绝的异常.UDP似乎以某种方式工作,至少在模拟器中.问题是,它是否会在现实中起作用,为什么文档说它没有?

Ron*_*nny 3

对于 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 Mango 上广播 UDP 数据包?

据报告,某些操作系统固件的 UDP 性能较差:http://connect.microsoft.com/VisualStudio/feedback/details/690198/poor-udp-performance-in-windows-phone-7-mango