Ошибка WebRTC - Описание ошибки сеанса: Несоответствие типа канала данных. Ожидаемый RTP, получен SCTP

Я новичок в WebRTC и пытаюсь создать свое первое приложение. Я нашел эту статью https://www.tutorialspoint.com/webrtc/webrtc_quick_guide.htm и сделал так, как там сказано. Полученное приложение отлично работает, если я тестирую его в Chrome. Но когда я пытаюсь протестировать это приложение в двух браузерах (Chrome и Mozilla), я получаю такую ​​ошибку:

Неперехваченный (в обещании) DOMException: не удалось выполнить setRemoteDescription для RTCPeerConnection: код ошибки сеанса: ERROR_CONTENT. Описание ошибки сеанса: Несоответствие типа канала данных. Ожидался RTP, получил SCTP ..

Это происходит, когда я отправляю предложение от клиента Mozilla, а клиент Chrome пытается дать ответ на это предложение в этой части кода:

myConnection.setRemoteDescription(new RTCSessionDescription(offer));
myConnection.createAnswer(function (answer) {
    myConnection.setLocalDescription(answer); 
    send({ 
        type: "answer", 
        answer: answer 
    }); 
}, function (error) { 
    alert("oops...error"); //<-- this alert fires all the time
}); 

Я погуглил это, и все, что я нашел, установлено new RTCPeerConnection(configuration, { optional: [{RtpDataChannels: false}] }), но если я это сделаю, тогда, когда я попытаюсь отправить сообщение, он скажет, что dataChannel.readyState не открыт.

Что я делаю не так? Любая помощь приветствуется!

Спасибо!


person SuperYegorius    schedule 08.09.2020    source источник


Ответы (1)


Удалите optional: [{RtpDataChannels: true}] и подождите, пока не сработает событие datachannel.onopen, прежде чем пытаться отправлять сообщения.

person Philipp Hancke    schedule 08.09.2020
comment
Мне это понравилось, но datachannel.onopen никогда не срабатывает - person SuperYegorius; 10.09.2020