PeerJS подключается в Chrome, но не в других браузерах

Мы начинаем исследовать одноранговые сети через браузер в PeerJS. Я новичок в WebRTC. В настоящее время я пытаюсь заставить две вкладки браузера на одном компьютере общаться друг с другом по локальной сети. Код, который мы сейчас тестируем, почти полностью взят из кода примера на их странице Github:

Сначала мы запускаем PeerServer локально, используя Node:

const { PeerServer } = require('peer');
const server = PeerServer({port: 9000, path: '/pjs'});

Затем пытаемся подключиться:

import Peer from 'peerjs';
var CreatePeer = function(id) {
    this.peer = new Peer(id, {host: 'localhost', port: 9000, path: '/pjs', debug: 3}); 
}

var Connect = function(otherUserID) {
    this.peer.connect(otherUserID);
}

//...
CreatePeer("myID");
//...
Connect("theirID");

Вышеописанное отлично работает в Chrome, и мы даже можем обмениваться сообщениями, используя дополнительный код, который я здесь не привожу. Однако в Firefox строка this.peer.connect(otherUserID) не работает и отображает эту ошибку в консоли браузера:

Ошибка ICE, похоже, ваш сервер TURN неисправен, см. about:webrtc для получения дополнительной информации.

На странице about:webrtc есть журнал, в котором эти две строки повторяются снова и снова:

РЕГИСТРАЦИЯ ПРИОСТАНОВЛЕНА: подключение активно в приватном окне
РЕГИСТРАЦИЯ ВОЗОБНОВЛЕНО: нет активных подключений в приватном окне

В Edge строка peer.connect вместо этого вызывает это исключение в консоли:

TypeError: Объект не поддерживает свойство или метод createDataChannel.

Когда я исследую эту ошибку, я получаю результаты с 2016 по 2017 год, до того, как Edge поддержал WebRTC. Насколько я могу судить, Edge должен поддерживать WebRTC с конца 2017 года, но, возможно, я что-то не так понял.

Почему приведенный выше код работает в Chrome, но не работает в Edge или Firefox?


person Kevin    schedule 24.01.2020    source источник
comment
Пожалуйста, покажите код, который вы пропустили. ошибка Firefox, которую вы показываете, происходит асинхронно позже , не из этой строки. Разве вы не должны использовать conn.on('open', () => {})?   -  person jib    schedule 11.04.2020
comment
Привет @Кевин. Удалось ли вам исправить peerjs для Firefox? Я получаю ту же проблему.   -  person Abdullah Khan    schedule 21.11.2020
comment
@AbdullahKhan Я не помню, чтобы нашел решение этой проблемы. Эта часть проекта находится на втором плане, поэтому я давно не просматривал ее.   -  person Kevin    schedule 24.11.2020


Ответы (1)


Edge не поддерживается в peer.js, хотя возникла проблема, чтобы вернуться к этому в контекст Edge на основе Chromium.

person dontcallmedom    schedule 27.01.2020
comment
Спасибо, хотя это не касается части вопроса о Firefox. - person Kevin; 27.01.2020