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

Javascript WebRTC P2P网状拓扑中的提供/应答序列,javascript,node.js,webrtc,signaling,Javascript,Node.js,Webrtc,Signaling,我使用web套接字服务器(node JS)作为信令服务器。我想创建一个P2P网状网络——每个人都相互连接 在以下情况下,操作/事件的顺序是什么: 第一个对等方加入 随后的对等方加入 是否每个连接的对等方都向信令服务器发送一个报价,然后发送给所有其他连接的对等方?我不确定这是否是正确的方法。WebRTC将客户端连接到客户端。如果您的客户机至少连接到一个其他客户机,那么另一个客户机可以有一个其他客户机的列表,因为其他客户机也有一个他们可能知道的其他客户机的列表。然后它传播得很快。列表中的拓扑由您决定

我使用web套接字服务器(node JS)作为信令服务器。我想创建一个P2P网状网络——每个人都相互连接

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

  • 第一个对等方加入
  • 随后的对等方加入

  • 是否每个连接的对等方都向信令服务器发送一个报价,然后发送给所有其他连接的对等方?我不确定这是否是正确的方法。

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

    如果您试图创建一个网状网络,音频和视频始终通过网状网络流向每个人,那么我建议重新考虑。要让3到4个以上的用户都能很好地工作,是很难做到的。有关不同网络拓扑在网络上运行的内容的说明,请参见此处:

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

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


    对于群组场景,我会使用一个模型——查看Jitsi()和Kurento()以寻找可能的替代方案。

    据我所知,WebRTC没有描述信令机制(在他们的教程中有很强的针对性)。这取决于开发者,他将如何做到这一点。mesh中的“全对全”通信是在不依赖于技术的算法中描述的,但我认为,何时以及如何发送信息只是您的想法。你的想法并不复杂,而且看起来不错。通过电子邮件可以复制信号。因此,至少有一个对等机作为字符串预先安装在对等机中,也应该是可能的。