繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM