我正试图找到一种通过silverlight应用程序发送udp广播数据包的方法。我所做的大部分研究都表明,由于套接字仅支持tcp,因此无法通过silverlight实现这一点。但是有没有其他方法来发送广播数据包,例如通过javascript或silverlight应用程序可以调用的东西?
答案 0 :(得分:3)
答案 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也无济于事。