结束两个对等点之间的 WebRTC 视频通话

chR*_*NaN 5 javascript firefox p2p google-chrome webrtc

我已经使用WebRTC. 我想允许一个对等方结束聊天,让另一个对等方知道聊天已经结束。聊天结束后,需要为双方执行一些代码。该PeerConnection对象有一个removeStream()应该触发onremovestream()侦听器的方法。这对于我的用例来说是完美的,但是,在调用 onremovestream() 之前,需要在对等方之间进行重新协商(提供/回答)。就我而言,这似乎很奇怪。为什么我要重新协商才断开连接?PeerConnection 对象不应该意识到没有来自其他用户的流吗?我的问题:如何结束 PeerConnection 并提醒其他用户?

Ben*_*ent 2

您只需关闭连接即可。另一个对等点可以侦听该信号oniceconnectionstatechange,并且状态disconnected意味着您的对等点已关闭连接/不再可用。如果我是你,我会在关闭之前进行超时,因为这种状态可能是由于网络连接不稳定造成的。MDN 有一些很好的信息

或者,您可以跟踪与信令服务器的连接,并在有人离开时向对等点发出信号。无论哪种方式都应该有效。