2017-09-14 31 views
0

我正在使用javascript在WebRtc中整合視頻和聊天問題。我正在使用這個例子在webRtc中的DataChannel javascript

https://github.com/oney/react-native-webrtc-server/blob/master/index.html 

視頻工作正常,但發送消息失敗都沒有收到錯誤!!!!。 正如上面的例子datachannel共享這些功能:

Line #115 to 142 of above link 
if (pc.textDataChannel) { 
    return; 
} 
var dataChannel = pc.createDataChannel("text"); 

dataChannel.onerror = function (error) { 
}; 

dataChannel.onmessage = function (event) { 
    console.log('open state2') 

    var content = document.getElementById('textRoomContent'); 
    content.innerHTML = content.innerHTML + '<p>' + socketId + ': ' + event.data + '</p>'; 
}; 

dataChannel.send = function (event) { 
    console.log('open state2') 
    exchange(event) 
}; 

dataChannel.onopen = function() { 
    console.log('open state') 
    var textRoom = document.getElementById('textRoom'); 
    textRoom.style.display = "block"; 
}; 

dataChannel.onclose = function() { 
}; 
pc.textDataChannel = dataChannel; 

在發送消息的用途:

pc.textDataChannel.send(text);//Line #218 of above link 

正是我應該實現,它的作品,我認爲這個送什麼,這就是爲什麼消息失敗和視頻工作

回答

0

您應該在createOffer之前調用createDataChannel。

的簡單的方法是儘快建立dataChannel創建RTCPeerConnection

var pc = new RTCPeerConnection(configuration); 
var dataChannel = pc.createDataChannel("text"); 
... 

然後createOffer將包括datachannel描述,在SDP你應該看到:

m=application 9 DTLS/SCTP 5000 
... 
a=sctpmap:5000 webrtc-datachannel 1024