具有多个对等连接的WebRTC-创建新连接时,现有对等连接之间的流停止



我正在为多个用户创建一个视频聊天应用程序。主机发起呼叫,当第二参与者加入时,在主机和第二参与者之间创建对等连接。

当第三人加入时,在1&3和2&3.(每个客户端有n-1个对等连接(。新的连接如预期的那样工作,但是媒体在1&2次休息。

在创建对等连接之后,我正在用索引为每个对等连接注册适当的事件侦听器-

  peerConnection.onicecandidate = (event) => handleIceCanditate(pcIndex, event);
  peerConnection.ontrack = (event) => handleTrack(pcIndex, event);
  peerConnection.onnegotiationneeded = (event) => handleNegotiationNeeded(pcIndex, event);
  peerConnection.oniceconnectionstatechange = (event) => handleICEConnectionStateChange(pcIndex, event);
  peerConnection.onicegatheringstatechange = (event) => handleICEGatheringStateChange(pcIndex, event);
  peerConnection.onsignalingstatechange = (event) => handleSignalingStateChange(pcIndex, event); 

索引为0的旧对等连接在停止工作之前不会触发任何事件。关于如何调试问题的任何线索。旧对等连接的连接状态为connected

此问题已解决。webRtc的实现如预期的那样工作,问题出现在React前端层。

我使用映射远程用户的React state来创建向参与者显示实时提要的视频组件。因为函数是在useEffects上调用以创建该列表的,所以所有元素都被重新呈现。

最新更新