Как узнать, какие порты нужно пробросить при использовании Java ServerSocket?

942
03 июня 2017, 15:03

Приветствую всех! У меня следующая проблема: есть сервер на Java, использующий для работы ServerSocket , к которому подключаются несколько клиентов. В пределах моего роутера все прекрасно работает. Но с пробросом портов есть проблема. Как я понял, ServerSocket всего лишь перебрасывает каждого клиента на отдельный Socket, который висит уже на другом порту. ServerSocket открыт у меня на порту 1950,

socket.getRemoteSocketAddress()

в клиенте выдает это: /192.168.152.248:50759 . Как я могу заранее узнать, что у новый клиент будет подключен именно по порту 50759? Может быть есть какой-то определенный диапазон, который нужно пробросить? А может быть есть вариант использования upnp? Понятно, что нужно как минимум пробросить 1950 порт, он у меня проброшен, но клиенты все равно не могут подключиться к серверу.

READ ALSO
Android, JSON, полученный с сервера

Android, JSON, полученный с сервера

Учусь работать с Android, использую этот пример: http://androiddocsru/parsing-json-poluchaem-i-razbiraem-json-s-vneshnego-resursa/ Все замечательно, выводит в лог, вероятно глупый...

352
Вылетает исключение fragment already active

Вылетает исключение fragment already active

Вылетает исключение в методе setArguments(Bundle)Я читал другие ответы на этот вопрос

302
Перевод foreach с С# на Java

Перевод foreach с С# на Java

Как можно foreach (List<Tuple<int, int>> c in coords) переписать на Java?

377
hibernate mapping класса без идентификатора

hibernate mapping класса без идентификатора

есть класс Participant, они могут иметь идентификаторы в бд и маппятся как обычно А есть два класса Employyes и Students, они внутри имеют только Set из Participant'ов

317