我可以使用WebRTC打开UDP连接吗?

时间:2012-12-11 00:46:51

标签: javascript udp webrtc

我们需要使用TFTP协议将数据发送到用户的设备,TFTP协议是一种类似FTP的协议,可以通过UDP工作。

由于我们无法使用javascript打开UDP套接字,我们一直使用我们的服务器作为代理,将数据发送到我们的服务器并打开从服务器到设备的UDP连接。这确实有一个缺点,即我们的用户需要了解NAT并配置端口转发。

所以问题是,我们可以使用WebRTC打开直接UDP套接字来在浏览器和设备之间发送和接收吗?

http://www.webrtc.org/reference/webrtc-internals/vienetwork#TOC-SendUDPPacket建议我们可以通过套接字发送一些原始UDP数据(也就是说,如果可以通过javascript访问该层。我不确定),但是我看不到提取的方法原始UDP响应。

任何帮助非常感谢

2 个答案:

答案 0 :(得分:13)

没有。允许WebRTC发送到随机地址/端口的安全问题太多 - 我们必须确保它不能用作DDOS平台,因此我们要求目标将ICE实现为发送数据的隐式权限,我们也不允许在DataChannels中发送任意数据,只发送SRTP媒体流和数据(通过UDP + ICE上的DTLS上的SCTP)。

答案 1 :(得分:3)

不,你不能像这样使用WebRTC发送原始UDP数据。

您可以在Chrome中使用ViENetwork lib找到SendUDPPacket方法来处理数据包传输,Windows QoS支持和其他网络设置,但您无法直接访问它。

WebRTC的一个主要功能是Data Channel,它可以在两个浏览器之间建立点对点连接,以允许交换原始数据。 正如您在{+ 3}}中所看到的那样,Chrome和Firefox中的内容仍在构建中。

这可以是您正在搜索的内容,因为您可以建立连接以发送原始数据,您只需要担心找到与其他端点建立此连接的方法,如果这是您想要的。