RTCPeerConnection не соответствует: не удается подключиться при смене поставщика
Я пытаюсь понять, если это проблема с моей сетью или это проблема WebRTC.
Я создал простой пример для создания RTCPeerConnection между двумя одноранговыми узлами, которые находятся в разных сетях, каждый из которых находится за собственным NAT. Когда я подключаюсь от A к B (т. Е. A является оферентом), соединение установится успешно, но подключение от B к A завершится неудачно (iceConnectionState установлен на "fail").
Сам код не имеет значения, я тестировал на этом онлайн-примере, и проблема та же: https://scaledrone.github.io/webrtc-text-chat-tutorial
Да, оба партнера правильно отправляют кандидатов (и host, и srflx).
Основываясь на некоторых онлайн-инструментах и том факте, что оба являются обычными домашними сетями, я предполагаю, что ни один из них не находится за симметричным NAT. В любом случае, не должно ли соединение обойтись в обоих направлениях?
-
Вопросы:
А. Имеет ли значение, кто является оферентом? Или это ошибка?
B. В случае, если это имеет значение (возможно, из-за того, что одна из сетей имеет более ограниченный NAT), какую конфигурацию я должен посмотреть на маршрутизаторах, чтобы исправить это? Любой источник информации поможет
-
• Я знаю, что могу (или должен) использовать сервер TURN для этих случаев, но я не хочу.
• Я знаю, что могу написать некоторый код, чтобы обойти эту проблему путем обмена партнерами, если они не подключаются с первой попытки, но это последнее, что я бы попробовал.
Извините за мою грамматику. Пожалуйста, сообщите мне, если вам нужна информация о журналах webrtc или сетях. Заранее спасибо.