Я хочу иметь возможность подключать (java) клиентов друг к другу, не открывая порты в своем маршрутизаторе или пересылку в их локальной сети. Я хочу подражать поведению webtrc, но в java, используя сервер для сигнализации. Серверу придется получать ключи сеанса от обоих клиентов, которые хотят подключиться друг к другу, отправив первый клиентский ключ ко второму клиенту и наоборот. После сигнализации оба клиента могут подключаться друг к другу с помощью этого ключа, а пакеты будут проходить через маршрутизатор, не открывая порты и пересылку.Как использовать сервер для перенаправления клиентов для прямого подключения друг к другу
Цель состоит в том, чтобы создать основу из этого, чтобы иметь возможность писать приложения, для которых не требуется сервер с огромной пропускной способностью, который может читать один клиент и писать другому, для каждой пары клиентов, которые хотят отправлять данные друг другу. То, о чем я прошу, - это просто рекомендации для этого, которые могут быть реализованы.
TLDR: Я хочу иметь возможность напрямую подключать двух клиентов в двух совершенно разных сетях с помощью общего сервера и без какой-либо конфигурации маршрутизатора для клиентов.
Спасибо за ваш ответ. Я читал много о дырочной штамповке с момента вашего комментария и пробовал реализацию, но хотя я использую setReuseAddress (true) как на сокете на сервере, так и на сервере serverocket, я получаю «java.net.BindException: Address уже в использовать "во втором bind. Вы ответили на мой вопрос, спасибо. Я создам еще один вопрос для моих ошибок реализации. –