Как мне подключить двух клиентов P2P через Интернет. Использование веб-сервера Java

У меня есть сервер Sparkjava. Итак, это настроено поверх сервера причала. Я хочу устроить видеочат с помощью WebRTC. Я хочу согласовать соединение между клиентом A и клиентом B. После того, как они подключатся, я хочу вывести свой сервер из середины. (Я хочу, чтобы данные передавались P2P). Я много читал о пробивке отверстий, но это не кажется надежным решением. Есть ли какой-нибудь код или учебник, которые могли бы мне помочь? Я видел здесь похожий вопрос Java: использование сервера для создания P2P между двумя клиентами Но для меня ответ слишком расплывчатый. Для предположений у меня есть рабочий веб-сервер, а клиенты работают под управлением Chrome или любого современного браузера, который не использует ActiveX.

Вопрос в том, как вы собираетесь установить P2P-соединение клиентов A и B, если они не находятся в одной сети? Вам нужно будет каким-то образом раскрыть IP-адрес вашего маршрутизатора в сети, а затем каким-то образом принять входящий запрос от другого клиента и наоборот. Я лично не знаю, как это сделать, возможно, на вашем маршрутизаторе есть что-то, что вы можете настроить для разрешения таких подключений.

Potato 04.10.2018 23:29

Раскрыть общедоступный IP-адрес каждого клиента просто. Также я могу нормально настроить маршрутизаторы. Моя проблема в том, что я пытаюсь сделать то же самое в интернет-среде. Я не могу ожидать, что каждый, кто захочет использовать этот веб-сервис, настроит переадресацию портов.

caleb baker 05.10.2018 21:25

Итак, я узнал, что вы можете делать что-то, известное как переадресация портов и обход Nat, я лично не пробовал делать это сам, ссылка stackoverflow.com/questions/28657559/…

Potato 05.10.2018 23:27
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
3
227
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Так что для тех, кто просто смотрит на это. главное, чего мне не хватало, так это сигнального сервера. WebRTC позаботится обо всем остальном. Я нашел несколько хороших руководств по созданию серверов сигнализации на java, так что это будет направление, в котором я буду двигаться

Другие вопросы по теме