Попытка понять сигнальные каналы WebRTC
Помогите разобраться, как работает сигнализация в WebRTC. В частности, если у меня есть определенный канал, скажем, с использованием Amazon Kinesis или аналогичного продукта, как одноранговый узел узнает, какому узлу позвонить? Нужен ли мне выделенный канал на набор всех одноранговых узлов, которым необходимо подключиться?
Скажем, у нас есть 5 пиров, и нам нравится следующая точка подключения: т.е.
Peer1<->Peer2
Peer2<->Peer3
Peer4<->Peer5
Когда одноранговый узел1 создает предложение и отправляет их на канал 1, откуда узел2 узнает, что это предложение предназначено только для него? Откуда Peer4 узнает, что не стоит использовать это предложение?
Нужен ли нам один канал на набор одноранговых узлов, которым необходимо подключиться? В этом случае, наверное, два канала? тот, который обрабатывает 2<->1 2<->3 и один для 4<->5?
1 ответ
KVS разработан прямо сейчас для подключения одноранговых узлов 1:N, поэтому у вас есть один мастер, и он соединяет слишком много зрителей. По замыслу Peer2 и Peer3 не могут видеть друг друга.
| -> Peer2
|
Peer1 -->|
|
| -> Peer3
Я не уверен, но похоже, что вы ищете топологию ячеистой сети, в которой все узлы могут видеть друг друга? Это то, что вы обычно хотите для конференц-залов или для настройки n:n.
Peer1 -> Peer2
Peer1 -> Peer3
Peer2 -> Peer3
Сегодня это недоступно, но если это то, что мы планируем добавить.