我正在为多个用户创建一个视频聊天应用程序。主持人发起呼叫,当第二个参与者加入时,在主持人和第二个参与者之间创建对等连接。
当第三个人加入时,在 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