4

WebRTC DataChannels を使用するウォール アプリケーションがあります。コードでは、接続を解決することができましたが、ピアが切断されたときに通知を受けていません。チャネルには、次のリスナーがいます。

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 )
}

ピアを切断しているタブをリロードすると、閉じるメッセージが表示されません。それらに送信すると、エラーは発生しません。

4

2 に答える 2

2

これは現在、実装が不完全なためです。残念ながら、データ チャネルに対して close イベントが常に発生するとは限りません。

Chrome の場合:
https://code.google.com/p/webrtc/issues/detail?id=1676

于 2013-06-29T10:12:13.220 に答える
-1

onclose データチャネルを起動するには、ピア接続を再交渉する必要があります。

すべてが機能するようにピアに変更を加えた後、ピアはオファーと回答を交換する必要があります。

つまり、変更を行うたびに、ピア接続を再ネゴシエートする必要があります。

于 2013-07-01T04:27:16.233 に答える