Проблемы с приложением на основе WebRTC

Я разработал приложение на основе WebRTC вместе с Kurento-Media-Server.

Проблемы с этим приложением:

  1. Он работает, но только в открытой сети (т. е. если работает в сети без брандмауэра).
  2. В брандмауэре запускается иногда (один раз из 10 попыток).

Я пробовал несколько вещей с брандмауэром, я отключил весь входящий/исходящий трафик. Я создал переадресацию портов для своего приложения, а также для сервера Kurento-media.

Я не уверен, насколько полезной может быть эта информация, но я развертываю свое приложение на том же физическом поле вместе с Kurento-Media-Server. Я настроил STUN-сервер Google на своем client.js, я также настроил те же STUN-серверы на kurento, используя код. Я не настроил сервер TURN.

Просто подтверждая это, сигнальный сервер может быть за брандмауэром вместе с остальным приложением, верно?

Я не уверен, что искать сейчас, любая помощь в этой области была бы отличной.

EDIT-1 Из этой ссылки я узнал, что моя текущая сеть, в которой я не при работе у него есть проблемы с простым подключением к веб-сокету, он не разрешает его, он разрешает только безопасные подключения к веб-сокету.

EDIT-2

Изображение netscan: Отчет о сканировании

В моей телефонной сети, где мое приложение работает нормально, я вижу всю зелень в простом столбце Websocket.

EDIT-3 Решено Наконец-то нашли проблему. Мы использовали маршрутизатор для тестирования и разработки, и я обнаружил, что у маршрутизатора есть проблемы, я использовал кабель LAN на том же маршрутизаторе и все работало нормально. Звонки из приложения работали нормально. Детали, относящиеся к брандмауэру, помогут позже настроить брандмауэр.


person Bilbo Baggins    schedule 04.07.2017    source источник
comment
Да, вам могут понадобиться серверы TURN, да, сигнальный сервер может быть за брандмауэром, если клиенты все равно каким-то образом могут связаться с ним (это довольно прямолинейно и проверяемо).   -  person deceze♦    schedule 04.07.2017
comment
Я имею в виду, с какой проблемой я могу столкнуться здесь ?? Я пробовал все варианты, включая TURN, но настройка TURN не удалась, и у меня были приоритеты для доставки, поэтому я пропустил ее. Должен ли я сосредоточиться на TURN сейчас?   -  person Bilbo Baggins    schedule 04.07.2017


Ответы (1)


Судя по описанию вашей проблемы, кажется, что весь UDP-трафик не открыт в вашем брандмауэре. Носитель WebRTC работает на портах UDP. Как вы упомянули, он работает один раз из 10, что означает, что в вашем брандмауэре открыто только несколько портов UDP. то же самое в конфигурации kurento-media-server. Ваша работа должна быть выполнена.

Даже если вы настроите сервер TURN, вам необходимо открыть определенные порты для исходящего и входящего трафика UDP. Для сервера TURN порт по умолчанию — 3478 или 8443 для отправки данных на него, но для входящего трафика вам необходимо настроить диапазон портов на вашем сервере TURN и открыть эти порты в вашем брандмауэре. Всегда помните, что сервер TURN — это надежный способ подключения, но это всегда дорого.

person Gaurav Srivastava    schedule 06.07.2017
comment
Спасибо за ответ, я открыл все исходящие и входящие порты UDP в своем брандмауэре и попробовал это, пожалуйста, посмотрите редактирование в моем вопросе, это моя новая находка, я только что нашел ее, дайте мне знать, есть ли способ сделать это. - person Bilbo Baggins; 06.07.2017
comment
Приятель, пожалуйста, поделитесь/прикрепите свой сетевой отчет к Netscan. В вашем приложении проблема может быть либо в медиа, либо в сигнализации. Проблемы с мультимедиа зависят от настроек UDP, как уже объяснялось. Для сигнализации либо улучшите приложение для безопасного веб-сокета, либо откройте незащищенный порт веб-сокета (по умолчанию TCP-порт 80) в брандмауэре. - person Gaurav Srivastava; 06.07.2017
comment
Обычно используется TCP-порт 80, который в вашем отчете не открыт. Пожалуйста, попробуйте открыть его и протестировать. - person Gaurav Srivastava; 06.07.2017
comment
Еще один вопрос, мне нужно включить порт 80 только для машины, на которой я развертываю свое приложение, верно? - person Bilbo Baggins; 06.07.2017
comment
На машине и в вашем брандмауэре тоже ... то же самое верно для всех портов UDP, если это необходимо - person Gaurav Srivastava; 06.07.2017
comment
хорошо, я пытался, но он все еще не работает, каким-то образом я обнаружил, что порт 80 все еще не открыт, странно, что я вижу два разных результата для netscan.co для одной и той же сети, т. е. моя мобильная сеть также показывает тест подключения Websocket такой же как на изображении, которое было зеленым несколько часов назад. - person Bilbo Baggins; 06.07.2017
comment
Можете ли вы помочь мне с веб-сокетами? Я думаю, что мой веб-сокет закрывается во время работы брандмауэра, я не получаю удаленный SDP на другом клиенте, я думаю, что веб-сокет закрывается, у вас есть какие-либо идеи о таких событиях, связанных с веб-сокетом? - person Bilbo Baggins; 07.07.2017
comment
Конечно, я могу, но как только он работает с открытым n/w и не работает в ur n/w, что означает, что существует проблема с открытием порта 80, это не должно быть связано с кодом. - person Gaurav Srivastava; 09.07.2017
comment
хорошо, во-первых, извините, это была глупая проблема с Wi-Fi-маршрутизатором, он не работал, и почти 80% пакетов были потеряны, я подключил его к локальной сети и поместил за брандмауэром, он работал :) :) :), я нашел ваша информация очень пригодилась при настройке брандмауэра, теперь он работает нормально. :) :) :) Благодарность :) :) :) :) - person Bilbo Baggins; 10.07.2017
comment
Спасибо, рад это слышать. - person Gaurav Srivastava; 10.07.2017
comment
Предлагаю, пожалуйста, проголосовать за соответствующие комментарии или ответить, чтобы другие, столкнувшиеся с аналогичными проблемами, получили пользу, как и ваша, иначе ТАК удалит комментарии или понизит ответы в течение определенного периода времени. - person Gaurav Srivastava; 19.07.2017