如何向已有两个对等点的 WebRTC 会话添加其他对等点

How to add additional peers to the WebRTC session with already two existing peers

我已经使用WebRTC 建立了p2p 音频和视频连接。 只有两个同行,我得到了调用顺序。

Peer1-caller 发送 SDP 报价和 ICE 候选人。 Peer2-callee 收到 SDP 提议,ICE 候选人生成 SDP 答案,ICE 候选人将其发回给添加他们的呼叫者。

现在假设我希望 Peer3 与两个现有对等方一起加入会话。 流程是什么?

    • Peer3 将 SDP 提议和 ICE 候选者发送给之前的两个对等点以及 Peer1-callerPeer2-callee 发回 SDP 答案,我想我必须将以前同行的 ICE 候选人存储在某个地方?
    • Peer3 必须等待来自 Peer1-callerPeer2-callee 的 SDP 提议并将 SDP 答复发回给他们两个?
    • Initiator Peer1-caller 将 SDP offer 发送给 Peer3,后者用 SDP answer 进行响应,并且在所有三个对等点之间交换 ICE 候选者之后,他们都能看到彼此吗?
    • 还有别的吗?

基本上我很困惑如何添加第三个对等点,使用哪种方法peerConnection.createOffer()而不是等待来自包括发起者在内的所有其他对等点的SDP应答或等待SDP提供并使用 peerConnection.createAnswer()?

如有任何帮助,我们将不胜感激。
谢谢

RTCPeerConnection 就是与单个端点通信的连接。如果您想要多个,则每个都需要一个单独的对等连接,并配有自己独立的报价-答案交换。

https://webrtc.github.io/samples/src/content/peerconnection/multiple/ 是一个最小的演示。