如何通过Silverlight发送UDP组播数据包?

时间:2009-07-14 13:49:57

标签: silverlight udp

我正试图找到一种通过silverlight应用程序发送udp广播数据包的方法。我所做的大部分研究都表明,由于套接字仅支持tcp,因此无法通过silverlight实现这一点。但是有没有其他方法来发送广播数据包,例如通过javascript或silverlight应用程序可以调用的东西?

5 个答案:

答案 0 :(得分:3)

Silverlight 4支持UDP进行多播。

文章/例子

答案 1 :(得分:1)

您可能需要创建自己的自定义浏览器插件才能为您完成此操作。

据我所知,不可能将UDP与主要的浏览器插件,Flash,Silverlight等一起使用.TCP是你得到的最低价。

基于浏览器的JS不提供对UDP甚至TCP的编程访问。这就是为什么你有AJAX,HTTP绑定,Comet,XMPP Bosh等等。他们试图用HTTP模拟TCP的功能......


从Flash 10开始,Flash支持UDP。我没有尝试过,但听起来它不是低级API,只能通过RTMFP。

http://www.flashcomguru.com/index.cfm/2008/5/15/player-10-beta-speex-p2p-rtmfp http://justin.everett-church.com/index.php/2008/05/23/astrop2p/

答案 2 :(得分:1)

支持UDP客户端发送的唯一插件是Unity3D或Java。问题主要是当你使用UDP时,你通常也需要穿穿NAT。因此它更复杂(需要第三方协调人),因为它通常也是点对点而不仅仅是客户端 - 服务器。

您可能能够使用Unity3D或Java代理进行装配,但这会严重减缓并将其传递给Silverlight。

Silverlight和Flash目前仅支持TCP套接字.. Flash 10确实支持基于UDP的RTMFP,但主要用于闪存介质服务器集成。

对Silverlight中UDP的支持做出回应:http://silverlight.net/forums/t/20249.aspx

答案 3 :(得分:1)

Flash Player 10.1支持使用Adobe RTMFP和Stratus服务的P2P。 Stratus服务是Beta托管的集合服务,可帮助在Flash Player端点之间建立通信。与Flash Media Server不同,Stratus服务主要关注Flash Player端点的网络地址查找和NAT遍历服务,而不是支持媒体中继,共享对象。这种服务也将被整合到下一版本的FMS中。

答案 4 :(得分:0)

不,没有。大多数浏览器限制您使用HTTP或FTP,因此调用Javascript也无济于事。