Мы начинаем исследовать одноранговые сети через браузер в Peer JS. Я новичок в WebRT C. В настоящее время я пытаюсь заставить две вкладки браузера на одном компьютере общаться друг с другом по локальной сети . Код, который мы сейчас тестируем, взят почти непосредственно из примера кода на их странице 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 неисправен, см. Информацию о: webrt c для подробнее
На странице about:webrtc
есть журнал, в котором две и более строки повторяются снова и снова:
ВРЕМЯ ЗАПИСИ: соединение в частном окне активно Регистрация возобновлена: в частном окне нет активных соединений
В Edge строка peer.connect
вместо этого выдает это исключение в консоли:
TypeError: Object notn ' t поддерживать свойство или метод 'createDataChannel'
Когда я исследую эту ошибку, я получаю результаты за 2016 - 2017 годы до того, как Edge поддерживал WebRT C. Насколько я могу судить, Edge должен поддерживать WebRT C с конца 2017 года, но, возможно, я что-то неправильно понял.
Почему вышеуказанный код будет работать Chrome, но не в Edge или Firefox?