Сколько подключений WebRTC существует на сервере TURN? - PullRequest
0 голосов
/ 30 октября 2018

Я пробую WebRTC и хотел бы узнать больше о том, как работает сервер TURN, с точки зрения соединений.

Поскольку я пробовал, чтобы даже мобильные устройства с одинаковыми телефонными номерами не могли напрямую подключаться друг к другу. Сервер TURN необходим для ретрансляции сообщений.

Предполагая, что в комнате есть 4 игрока A, B, C, D и все они НЕ могут напрямую соединяться друг с другом. Итак, для сервера TURN, сколько существует соединений?

а) 6 б) 12 или больше?

В случае однорангового вещания другим узлам, сколько сообщений будет получено и ретранслировано сервером TURN?

1 Ответ

0 голосов
/ 30 октября 2018

Будет n × (n-1) соединений. Каждый узел отправляет поток всем остальным узлам. В случае двух пиров это один поток на пира, всего два потока. Для четырех пиров это три потока на пира в общей сложности для 12 потоков.

Предполагая, что никакие одноранговые узлы не могут подключаться напрямую, все они должны маршрутизироваться через сервер TURN.

Сервер TURN является «тупым» ретранслятором, он просто ретранслирует поток как есть и оставляет всю логику и обработку потока клиентам. Таким образом, каждый клиент должен будет отдельно кодировать три разных потока для отправки трем разным узлам.

Чтобы иметь что-то более эффективное, вам нужен медиа-сервер, такой как популярный Kurento , который может принимать один поток и перераспределять («транслировать») его нескольким отдельным клиентам. То есть это берет на себя логику и задачу обработки потока. Это требует более сложной настройки и более мощного сервера, чем TURN. На практике вы, вероятно, захотите заплатить за это провайдеру SaaS, а не создавать своего собственного.

...