2013-06-29 56 views
1

我有一個wall application使用WebRTC DataChannels。在the code中,我設法解決了這個問題,但當對方斷開連接時我沒有得到通知。在頻道上,我有以下聽衆:onclose和onerror沒有被調用DataChannel斷開

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

當我重新加載選項卡斷開對等點時,我沒有收到消息。當我發送給他們時,我不會收到錯誤。

回答

1

它目前由於不完整的實現 - 不幸的是,關閉事件並不總是爲數據通道觸發。

使用Chrome:
https://code.google.com/p/webrtc/issues/detail?id=1676

+0

另外,在Firefox上,爲mozRTCPeerConnection對象觸發了「onclosedconnection」事件。 – Makkes

+0

我遇到類似的情況,除了'onclose'不一致的火災(在FireFox中工作)。有時它會按預期工作,有時不會。看似隨意。 @Makkes或任何人,你有任何可能的解釋這種行爲? – Xaxis

+1

@Xaxis:關於'close'事件的實現行爲目前是一種痛苦。也許你正在體驗https://bugzilla.mozilla.org/show_bug.cgi?id=881337或https://bugzilla.mozilla.org/show_bug.cgi?id=1009124之一。如果沒有,您可以提交包括重現步驟的錯誤。 – Makkes

0

你必須renagotiate對等連接到火的OnClose datachannel。

你的同事應該交換報價和​​回答,在你對任何同行做出任何改變以使一切正常工作後。

這意味着每次您進行更改時都應重新協商對等連接。

+0

請詳細說明你的答案 – Dilip

相關問題