13

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

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

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

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

非常感谢任何帮助

4

2 回答 2

13

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

于 2012-12-13T20:05:19.150 回答
2

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

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

WebRTC 的主要功能之一是数据通道,它将带来在两个浏览器之间建立对等连接的可能性,以允许交换原始数据。正如您在此处看到的,这仍在 Chrome 和 Firefox 中进行构建。

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

于 2012-12-11T11:47:36.773 回答