WebRTC 适用于非 P2P 应用程序吗?
Is WebRTC good for non P2P applications?
我需要创建一个应用程序,其中一个发布者使用浏览器或其他桌面客户端以相对较短的延迟(速度比可靠性更重要)向多个 receivers/viewers 发送大量数据(大约 1 MBps)。
我想知道 P2P WebRTC 解决方案是否适用于此,因为如果我理解正确的话,它将需要将这么多数据单独发送给每个查看者,从而使发送者的网络过载(20 个查看者意味着 20MBps,这对普通用户来说是不可行的)。
所以我想到的解决方案是使用主服务器作为中介来使用数据通道,但在这一点上,我应该使用 WebRTC 还是只使用 websockets?
是的,我认为 WebRTC/DataChannels 非常适合这个!
如今,WebRTC 可用于多种语言的服务器(Go、Python、Rust、C++...),因此构建和部署应该不是问题。
如果您尝试着重于速度构建,DataChannels 可让您发送 lossy/unreliable,这会给您带来好处。如果您看到拥塞,您也会收到通知,并且可能会调整您发送的内容以减少损失。
使用 WebSockets,您将获得可靠的传送,但您可能无法在每个网络中获得 latency/performance。
我需要创建一个应用程序,其中一个发布者使用浏览器或其他桌面客户端以相对较短的延迟(速度比可靠性更重要)向多个 receivers/viewers 发送大量数据(大约 1 MBps)。
我想知道 P2P WebRTC 解决方案是否适用于此,因为如果我理解正确的话,它将需要将这么多数据单独发送给每个查看者,从而使发送者的网络过载(20 个查看者意味着 20MBps,这对普通用户来说是不可行的)。
所以我想到的解决方案是使用主服务器作为中介来使用数据通道,但在这一点上,我应该使用 WebRTC 还是只使用 websockets?
是的,我认为 WebRTC/DataChannels 非常适合这个!
如今,WebRTC 可用于多种语言的服务器(Go、Python、Rust、C++...),因此构建和部署应该不是问题。
如果您尝试着重于速度构建,DataChannels 可让您发送 lossy/unreliable,这会给您带来好处。如果您看到拥塞,您也会收到通知,并且可能会调整您发送的内容以减少损失。
使用 WebSockets,您将获得可靠的传送,但您可能无法在每个网络中获得 latency/performance。