Это мой первый проект webRT C, поэтому я очень неопытен в отслеживании подобных ошибок. Тем более, что я использую этот NPM пакет, я не знаю точно, что делать с этим сообщением об ошибке. Если вы перейдете по этой ссылке, я просто скопировал / вставил демонстрационный код «использования», но заменил его на сокеты, используя Laravel echo для передачи данных однорангового соединения. В демонстрации «использование» они генерируют объект «предложение», и вы вставляете его в форму других пиров. Затем этот клиент генерирует объект «ответа», и когда вы вставляете его в форму на клиенте-инициаторе, соединение устанавливается. Если я так делаю, все работает нормально. Но я пытаюсь установить sh автоматическое соединение, когда все клиенты готовы. Вот мой код:
var Peer = require("simple-peer");
window.p = new Peer({
initiator: location.hash === "#1",
trickle: false
});
p.on("error", err => console.log("error", err));
p.on("signal", data => {
if (location.hash === "#1") {
$.ajax({
url: "/autoCon",
type: "get",
data: {
connectionData: JSON.stringify(data)
},
success: function() {
console.log("sent: " + JSON.stringify(data));
}
});
}
});
p.on("connect", () => {
console.log("CONNECT");
});
А затем на блейд-файле я слушаю с Echo следующим образом:
Echo.channel('myChannel')
.listen('MyEvent', (e) => {
p.signal(e.connectionData)
});
А теперь об ошибке:
Failed to execute 'setRemoteDescription' on 'RTCPeerConnection': Failed to set remote offer sdp: Failed to apply the description for 0: Failed to setup RTCP mux.
Если я поддерживаю журнал p.signal(e.connectionData)
, он показывает «undefined», что странно, поскольку он генерирует объект «answer» и отображает страницу в тексте. Итак, я попытался ajax отправить начальный объект «предложение» второму узлу, затем взять его объект «ответ» и сигнал для инициирующего узла, чтобы соединиться, когда данные получены сокетом. Но это дает мне эту ошибку. Кто-нибудь может помочь?