最大的RTCPeerConnection数量是多少?

7

我知道网络浏览器对于同时发起的HTTP请求等有限制。但是,网页上打开的RTCPeerConnection数量是否也有限制呢?

与此有些相关的是:RTCPeerConnection允许在一个连接上发送多个数据流。将多个数据流合并到一个连接中和建立多个连接(例如为每个数据流建立一个连接)之间的权衡有哪些呢?

3个回答

11

不确定限制,但我认为大约在256左右(上次我听说的)。最近有人在单个网页上通过http://testrtc.com实现了200个连接。

多个RTCPeerConnection对象非常好用:

  • 它们易于添加和删除,因此在加入或离开组呼时提供更高的灵活性
  • 它们可以连接到不同的目标

话虽如此,它们也有自己的挑战和开销:

  • 每个RTCPeerConnection都有自己的NAT配置 - 因此即使它们连接到同一实体(例如SFU),STUN和TURN绑定和流量也会在RTCPeerConnection对象之间同时进行。这种开销涉及本地资源(例如内存和CPU)以及网络流量(开销不大,但需要处理)

  • 它们通过多个选项卡在Chrome的webrtc-internals视图中显示(这是一个品味问题),并且SSRC可能在它们之间具有相同的值,使得跟踪和调试有点困难(同样是一个品味问题)

单个RTCPeerConnection对象需要重新协商所有内容,每当有人需要添加到列表(或删除)时就需要这样做。


1
谢谢,这正是我在寻找的信息类型。 - Seba Kerckhof
1
还可以在这里阅读更多内容 - 我已经深入研究了这个主题 - https://bloggeek.me/webrtc-rtcpeerconnection-one-per-stream/ - Tsahi Levent-Levi

0

这里有一个 Chrome 的 bug list.

但目前还没有修复。


0

根据《webrtc for the curious》电子书的第14页所述:

group:BUNDLE 捆绑是指在一个连接上运行多种类型的流量。一些WebRTC实现使用每个媒体流的专用连接。应优先选择捆绑。

因此,我认为使用一个RTCPeerConnection来处理不同类型的流是更好的选择。如果您认为我的观点有误,请指正我。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接