Как подключиться к серверам stun and turn с помощью простого пира

Я разработал приложение для видеочата, используя простой peer и socket.io. Но когда я попытался разместить приложение, одноранговые узлы не смогли подключиться из-за проблемы с брандмауэром. Я знаю, что для этой цели должны использоваться серверы STUN и TURN. Можно ли подключиться к этим серверам, используя простой одноранговый узел? Если да, то как? Любые пояснения или справочные статьи будут полезны


person Padma govind    schedule 30.06.2020    source источник


Ответы (2)


Вы можете добавить конфигурацию iceServer, как в исходном webrtc в simple-peer config вот так:

{
  initiator: false,
  config: { iceServers: [{ urls: 'stun:stun.l.google.com:19302' }, { urls: 'stun:global.stun.twilio.com:3478?transport=udp' }] },
}

Вы можете добавить stun-серверы и/или повернуть серверы.

person Dirk V    schedule 30.06.2020

Если вы прочтете исходный код пакета simple-peer npm, вы поймете, что в настоящее время он использует

URLs: [
  'stun:stun.l.google.com:19302',
  'stun:global.stun.twilio.com:3478'
]

для своих потребностей в обнаружении общедоступных IP-адресов.

Ваше приложение не работает в случае брандмауэра, потому что только stun сервера недостаточно в случае брандмауэра.

В этом случае помимо сервера STUN вам нужен сервер TURN.

TURN — запасной вариант на случай, если STUN не сработает.

person Mohit Gupta    schedule 26.10.2020