Javascript onclose和onerror在数据通道断开连接时未被调用

Javascript onclose和onerror在数据通道断开连接时未被调用,javascript,webrtc,Javascript,Webrtc,我有一个使用WebRTC数据通道的问题。在中,我已经设法建立了连接,但当对等机断开连接时,我没有收到通知。在这些频道上,我有以下侦听器: channels[uid].onerror = function( event ) { console.log( 'channels[uid].onerror', uid, arguments ) removePeer( uid ) } channels[uid].onclose = function() { console.log( 'chan

我有一个使用WebRTC数据通道的问题。在中,我已经设法建立了连接,但当对等机断开连接时,我没有收到通知。在这些频道上,我有以下侦听器:

channels[uid].onerror = function( event ) {
  console.log( 'channels[uid].onerror', uid, arguments )
  removePeer( uid )
}

channels[uid].onclose = function() {
  console.log( 'channels[uid].onclose', uid, arguments )
  removePeer( uid )
}

当我重新加载标签时,不会收到近距离消息。当我发送给他们时,我没有收到错误。

这是由于当前未完成的实现-不幸的是,关闭事件不会总是针对数据通道触发

对于铬:

您必须重新协商对等连接以触发onclose数据通道

在您对任何一位同行所做的任何更改之后,您的同行应交换报价和答复,以使一切正常工作


这意味着每次进行更改时,都应该重新协商peerconnection。

另外,在Firefox上,有一个针对MozRTPeerConnection对象的“onclosedconnection”事件被触发。我遇到了类似的情况,除了“onclose”不一致地触发(在Firefox中工作)。有时它会像预期的那样工作,有时则不然。似乎是随机的@Makkes或任何人,你对这种行为有任何可能的解释吗?@Xaxis:关于“关闭”事件的实现行为目前令人痛苦。也许你正在经历一个或多个。如果没有,你可以提交一个bug,包括复制的步骤。@Makkes:你说得对,这似乎是我问题的核心所在。大量的谷歌搜索,我没有看到。谢谢不管怎样,我想我会继续发展,好像这个错误在不久的将来就会解决。请详细说明你的答案