2

我正在尝试实现RTCDataChannel (webRTC)。

它在 Firefox 中运行良好,但在 chrome 中却不行。

Chrome 和 Firefox 都是最新版本。

Chrome 中的 RTCDataChannel 对象:-

RTCDataChannel {
binaryType: "arraybuffer"
bufferedAmount: 0
bufferedAmountLowThreshold: 0
id: 65535
label: "sendDataChannel"
maxRetransmitTime: 65535
maxRetransmits: 65535
negotiated: false
onbufferedamountlow: null
onclose: null
onerror: ƒ (event)
onmessage: ƒ (event)
onopen: ƒ dataChannelStateChanged()
ordered: true
protocol: ""
readyState: "connecting"
reliable: false__proto__:}

Firefox 中的 RTCDataChannel 对象:-

DataChannel { 
binaryType: "blob"
id: 0
label: "sendDataChannel", 
reliable: true, 
readyState: "open",
bufferedAmount: 0, 
bufferedAmountLowThreshold: 0, 
onopen: dataChannelStateChanged(), 
onerror: create_peer_connection/dataChannel.onerror(), 
onclose: null, 
onmessage: create_peer_connection/dataChannel.onmessage(), 
onbufferedamountlow: null 
protocol:""
ordered:true}

我已经浏览了以下链接:-

  1. readyState “连接”上的 WebRTC 数据通道堆栈
  2. WebRTC dataChannel.readyState 在“连接”上停止
  3. RTCDataChannel 的 ReadyState 不是 'open'
  4. Webrtc 数据通道始终处于连接状态且未打开

请建议chrome问题背后的原因是什么?

4

1 回答 1

2

我能够使用以下帖子解决它:

WebRTC DataChannel:在 Firefox 中工作,但不在 Chrome 中

我不得不改变

pc = new RTCPeerConnection(configuration,
                {optional: [{RtpDataChannels: true}]});

pc = new RTCPeerConnection(configuration);
于 2017-09-06T13:16:29.837 回答