我可以在一个客户端上创建多少个对等连接?是否有任何限制?
我假设您是通过实验得出256这个数字的,因为目前没有文档或规格表明这一点。 我不知道自2013年以来有哪些变化,但目前,我的实验仅支持每个页面500个同时连接。 据我所知,Firefox没有此类限制。
根据Chromium源代码,实际限制是500个 (来源)。据我所知,在此实现之前(来源)甚至在WebKit时代,都没有这样的限制。
我认为这个问题棘手的原因之一是Chrome(和FF)一直很糟糕地处理死连接的垃圾回收。如果你检查chrome://webrtc-internals
(FF对应的是about:webrtc
),会经常出现一些向500限制计数的僵尸连接。这些连接会一直存在,直到你手动销毁它们,或者关闭/刷新页面。解决这个问题的方法之一是通过自己实现心跳机制或使用信令服务器通知同行已断开连接,以便其他同行可以销毁他们的连接(尽管这需要与信令服务器建立持久连接)。
最大对等连接限制为256(在Chrome上)。
其他主要浏览器可能不同,根据您的带宽,它们会限制给定的稳定性。
不确定是否有任何硬限制(除了运行时内存),但肯定存在软限制。
如果您考虑完全网状拓扑(即每个客户端都连接到每个其他客户端的应用程序),则必须考虑此拓扑的主要缺陷。对于参与视频会议的大量参与者,需要维持整个会话所需的带宽随着每个新参与者而增长。
因此,带宽较低的用户将无法处理具有大量参与者的视频会议。
希望这可以帮助您。