Пир не получает никаких данных в WebRT C с webrt c -swarm - PullRequest
0 голосов
/ 13 марта 2020

Я создаю одноранговое приложение для чата и при новом одноранговом соединении у меня переменная username_set , установленная в 0, поэтому она сигнализирует, что у пира нет имени пользователя. Однако, похоже, что peer.on(data, function (data) {}) не получает никаких данных, так как когда я что-то печатаю, ничего не отображается. Мне было интересно, в чем здесь проблема, поскольку я новичок в этом.

Я использую webrtc-swarm, который использует простой узел в качестве однорангового объекта:

var username_set = 0

swarm.on('peer', function(peer, id) {
    console.log('[a new peer connected]')
    console.log('Set username if you havent and continue chatting')  
    if(username_set === 0){
        console.log('Please set username:')
        peer.on('data', function (data) {
        console.log("data:" + data.toString())
        })
    }
    if(username_set === 1){
        console.log('test successful')
    }        
})

1 Ответ

0 голосов
/ 13 марта 2020

Используемый вами пакет webrtc-swarm устарел, и, похоже, никто не поддерживает его.

Последнее обновление было более 2 лет go, до WebRT C 1.0.

Следовательно, этот пакет webrtc-swarm полагается на устаревшие функции WebRT C. Как только некоторые функции устарели с выпуском WebRT C 1.0 в 2018 году, некоторые функции из предыдущей версии c были удалены из браузеров.

WebRT C является развивающейся технологией, даже не текущая скорость c реализована на 100%, даже основными браузерами. Нет простого способа 1010 *, нет библиотеки, которая будет работать лучше, чем собственная реализация, или у вас будет свободное время. Вы почти наверняка закончите тратить свое время на проблемы с устареванием, если начнете использовать открытый исходный код или бесплатную библиотеку WebRT C.

Мой совет:

  1. Положитесь на WebRT C Документация MDN
  2. Ознакомьтесь с Руководствами и учебными пособиями от MDN
  3. Использование Socket.IO для сигнализации
  4. Настройка сервера TURN на машине с Ubuntu.
...