WebRTC P2P网状拓扑中的提供/应答序列

时间:2016-10-28 18:24:22

标签: javascript node.js webrtc signaling

我正在使用Web套接字服务器(节点JS)充当信令服务器。我想创建一个P2P网状网络 - 每个人都相互连接

在以下情况下操作/事件的顺序是什么:

  1. 第一个同伴加入
  2. 后续对等人加入
  3. 每个连接对等体是否向信令服务器发送要约,然后将其发送给所有其他连接的对等体?我不确定这是否是正确的方法。

2 个答案:

答案 0 :(得分:0)

WebRTC将客户端连接到客户端。如果您的客户端连接至少另一个 - 另一个可以有其他人的列表,因为其他人也有他们可能知道的其他人的列表。然后它快速传播。列表中的拓扑结构取决于您。不需要信令,因为与其他人连接的信息在列表中。

答案 1 :(得分:0)

如果您要做的是创建一个网状网络,音频和视频始终通过网状网络流向每个人,那么我建议重新考虑。要让超过3或4个用户能够正常工作,很难实现。请参阅此处,了解网络上针对不同网络拓扑的内容:http://testrtc.com/different-multiparty-video-conferencing/

如果您尝试这样做以连接数据(非语音或视频),那么您可以这样做,但同样,您可以放在单个浏览器中的对等连接数量是有限的,并且您添加的每个连接数一些开销。今天,我最多不会尝试超过40或50。

根据您的问题,我假设所有客户端都将通过WebSocket连接到您的服务器。当您想要将特定用户连接到另一个用户或一小组用户时,您可能会最终通过服务器路由消息并明智地创建对等连接。

对于群组方案,我使用的是SFU模型 - 请查看Jitsi(https://jitsi.org/Projects/JitsiVideobridge)和Kurento(http://www.kurento.org/)以寻找可能的替代方案。