Форум программистов, компьютерный форум, киберфорум
Java: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/25: Рейтинг темы: голосов - 25, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 29.01.2017
Сообщений: 21

Как программно открыть порты для сокетов?

04.09.2018, 16:49. Показов 4965. Ответов 14

Студворк — интернет-сервис помощи студентам
Написал свой чат на сокетах. Есть клиент и сервер. На локалхосте все работает, а вот если стучаться на сервер через интернет, то выдает ошибки. Как я понял дело в закрытых портах.
Можно ли как-то открыть порты программно? Вот когда устанавливаешь какой-нибудь мессенджер, он же не просит лезть в роутер и открывать порты, он просто работает. Как это реализовать?
Тут-то конечно сервер, и его насколько я понимаю надо на отдельную машину и на ней открывать порты, но есть же p2p приложения без проброса портов в роутере, которые прекрасно работают.
Слышал про Upnp - подойдет здесь? Как это можно реализовать в java?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.09.2018, 16:49
Ответы с готовыми решениями:

Как программно открыть определенные порты для входящего соединения
Как программно открыть определенные порты для входящего соединения?

Как открыть порты для CS 1.6 ?
Хочу открыть порты для cs 1.6 27015, но у меня не получается через роутер и не через брандмауер, почему?

Как открыть порты для торрента на роутере?
Имеется роутер ASUS WL-520GC. Как в нем открыть порт(51000) для торрента, если 2ip показывает ип 93.80.249.71(динамический), адрес 2х...

14
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
04.09.2018, 17:28
Цитата Сообщение от SharpersAreGoodGuys Посмотреть сообщение
Слышал про Upnp - подойдет здесь? Как это можно реализовать в java?
а про гугл слышал? Первая сслыка. https://github.com/4thline/cling
0
0 / 0 / 0
Регистрация: 29.01.2017
Сообщений: 21
05.09.2018, 08:54  [ТС]
Это я как раз таки уже нашел и поставил, только вот даже с оф документации не понятно как это работает и как просто открыть порт. Хотел рассмотреть какие варианты есть, думал может есть люди кто это делал и знает как это работает, а не просто как обезьянка копирует ссылки из гугла.
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
05.09.2018, 09:30
а я все жду, когда на форуме появятся люди с нормальными вопросами, которые хоть немного делают самостоятельно
0
0 / 0 / 0
Регистрация: 29.01.2017
Сообщений: 21
05.09.2018, 09:37  [ТС]
Но ведь им ты не сможешь найти ссылку из гугла и придется пройти мимо
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
05.09.2018, 10:18
а это уже не твое дело
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
05.09.2018, 11:18
Цитата Сообщение от xoraxax Посмотреть сообщение
а я все жду, когда на форуме появятся люди с нормальными вопросами, которые хоть немного делают самостоятельно
никогда....на нормальные вопросы тут ответа не дадут =)
Я вот на SO вопрос задал, мне даже там ответ не дали....тут можно даже не пробовать))))
1
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
05.09.2018, 11:28
KEKCoGEN, эх тоска
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
05.09.2018, 13:50
Цитата Сообщение от SharpersAreGoodGuys Посмотреть сообщение
Написал свой чат на сокетах. Есть клиент и сервер. На локалхосте все работает, а вот если стучаться на сервер через интернет, то выдает ошибки.
было как то в моем опыте. да, делал проброс портов на роутере, после этого все работало. Дело кстати быстрое.

Цитата Сообщение от SharpersAreGoodGuys Посмотреть сообщение
Вот когда устанавливаешь какой-нибудь мессенджер, он же не просит лезть в роутер и открывать порты, он просто работает.
потому что не сервер это мессенджера стучится на твой конкретный комп, а наоборот твой мессенджер стучится по известному ему адресу и порту сервера, который открыт и если нужно проброшен и прочее.
1
0 / 0 / 0
Регистрация: 29.01.2017
Сообщений: 21
05.09.2018, 14:02  [ТС]
А как тогда сервер передает обратно клиенту данные, если у того тоже не проброшены порты и тд
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
05.09.2018, 14:22
Лучший ответ Сообщение было отмечено SharpersAreGoodGuys как решение

Решение

Цитата Сообщение от SharpersAreGoodGuys Посмотреть сообщение
А как тогда сервер передает обратно клиенту данные, если у того тоже не проброшены порты и тд
а так соединение то уже есть! твой мессенджер его установил.
представь это как трубу. твой мессенджер после установки и запуска стучится к серваку (его адрес и порт ему известен), создается соединение -труба от твоего компа до сервера и вот по ней то данные и гоняются. То есть инициатива всегда твоя, а не сервера.
Приходит тебе сообщение от JavaGuysTheBest, оно приходит ясно на сервер, тот проверяет живо ли то соединение, та труба которую твой мессенджер проложил и если да то кидает тебе туда сообщение. Если нет, то откладывает в какую то очередь и в следующий раз когда опять же твой мессенджер приконнектится - отправит его тебе. То есть злобные сервера мессенджеров не прозванивают твои порты в поисках своего мессенджера.
1
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
05.09.2018, 14:22
hole punching например
0
Эксперт Java
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
07.09.2018, 13:24
KEKCoGEN, хах, меня на so даже послали и закрыли топик

Добавлено через 59 секунд
xoraxax, сам пробовал? У меня руки так и не дошли, но чешутся
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
07.09.2018, 13:26
Цитата Сообщение от LeX Посмотреть сообщение
xoraxax, сам пробовал? У меня руки так и не дошли, но чешутся
чото ковырял когда-то давно, но это было совсем давно и не правда
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
07.09.2018, 15:22
Цитата Сообщение от LeX Посмотреть сообщение
меня на so даже послали и закрыли топик
не, топик не закрыли, я там просто ответ никто не знает походу)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.09.2018, 15:22
Помогаю со студенческими работами здесь

Как открыть порты на компе для WIFI через DWL-2100
Всем здравствуйте,имею wifi подключение на смартфоне SE P1i с компа на котором wifi раздается через вторую сетевую карту с помощью точки...

Открыть tcp порты для Windows
Какие порты нужно открывать на системе для комфортной работы ? Например, если для браузера открыть 15 портов, что показывают проги, он все...

Открыть порты для Web сервера
Собираюсь ставить Web Server на машинке, уже в принципе все готово, домены к серверу присоединяю (пока ns не делал, засчет параметра A...

Как программно заблокировать порты (usb, com)
Как программно заблокировать порты (usb, com) и потом разблокировать? спасибо заранее ;)

Как открыть порты
Пацаны помогите кто нибудь пожаалуйста,уже полгода не могу открыть порты!!!И через брандмаувер пробовал,и через торрент,медиагет,simple...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru