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

Javascript 我可以使用WebRTC打开UDP连接吗?,javascript,udp,webrtc,Javascript,Udp,Webrtc,我们需要使用TFTP协议将数据发送到用户的设备,这是一个简单的类似FTP的协议,在UDP上工作 因为我们不能使用javascript打开UDP套接字,所以我们一直使用服务器作为代理,将数据发送到服务器,并打开从服务器到设备的UDP连接。这确实有一个缺点,即我们的用户需要了解NAT和配置端口转发 所以问题是,我们是否可以使用WebRTC打开一个直接UDP套接字,在浏览器和设备之间进行发送和接收 建议我们可以通过套接字发送一些原始UDP数据(也就是说,如果可以通过javascript访问该层,我对此

我们需要使用TFTP协议将数据发送到用户的设备,这是一个简单的类似FTP的协议,在UDP上工作

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

所以问题是,我们是否可以使用WebRTC打开一个直接UDP套接字,在浏览器和设备之间进行发送和接收

建议我们可以通过套接字发送一些原始UDP数据(也就是说,如果可以通过javascript访问该层,我对此不确定),但我认为没有办法获取原始UDP响应


非常感谢您的任何帮助

不,您不能像那样使用WebRTC发送原始UDP数据

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

WebRTC的一个主要功能是,它可以在两个浏览器之间建立点对点连接,以允许交换原始数据。 正如你所看到的,Chrome和Firefox仍在构建中


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

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

我应该告诉你我的新UDP笑话,但是。。你可能永远也不会明白,这是行不通的,因为我们讨论的是另一端非常特定的硬件(主要是Arduino),它只能通过TFTP进行通信。但是皮蒂…为什么要担心WebRTC中的DDOS?难道你就不能通过无休止地创建图像、提交表单、XHR等等,从客户机开始吗?使用WebRTC防止DDOS有什么特别之处?webrtc邮件列表上的一条又一条消息,以及一个又一个问题突出了使用webrtc将数据发送回服务器的强烈愿望,而不仅仅是对等的。我甚至不明白为什么peer-to-peer首先被开发出来。只能与另一个人进行语音聊天的功能有限。眼前的问题是,如何在通话中添加其他用户?用单片机。不容易。可以使用已经存在的同一源策略或原始域上的某些文件(如flash所做的)将webrtc限制回服务器。或CORS头。如果网页/ads/etc中的代码可以向IP地址发送任意数量的(填充上游管道)数据,则该代码可能会充当DDOS。有关示例,请阅读rtcweb安全注意事项草案。站点可以更轻松地处理面向连接的DDOS攻击,因为它们可以控制接受连接(调整连接速度等)。我会注意到这里的请求是针对点对点原始UDP的,这完全是另一回事,而不是您想要的;事实上,这是一个主要用例。而对于A/V通信(WebRTC的主要目标),P2P有很大的优势,特别是如果你不是谷歌(特别是更低的延迟,以及更低的带宽成本,这就是为什么你现在有所有这些免费的WebRTC站点。)P2P还实现了许多有趣的应用DataChannels@JSON我相信,屏蔽是为了在HTTP握手启动时阻止缓存响应的发送,而不是为了安全。