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

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

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

Author24 — интернет-сервис помощи студентам
Написал свой чат на сокетах. Есть клиент и сервер. На локалхосте все работает, а вот если стучаться на сервер через интернет, то выдает ошибки. Как я понял дело в закрытых портах.
Можно ли как-то открыть порты программно? Вот когда устанавливаешь какой-нибудь мессенджер, он же не просит лезть в роутер и открывать порты, он просто работает. Как это реализовать?
Тут-то конечно сервер, и его насколько я понимаю надо на отдельную машину и на ней открывать порты, но есть же p2p приложения без проброса портов в роутере, которые прекрасно работают.
Слышал про Upnp - подойдет здесь? Как это можно реализовать в java?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.09.2018, 16:49
Ответы с готовыми решениями:

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

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

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

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

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

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

Решение

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

Добавлено через 59 секунд
xoraxax, сам пробовал? У меня руки так и не дошли, но чешутся
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
07.09.2018, 13:26 14
Цитата Сообщение от LeX Посмотреть сообщение
xoraxax, сам пробовал? У меня руки так и не дошли, но чешутся
чото ковырял когда-то давно, но это было совсем давно и не правда
0
Эксперт Java
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
07.09.2018, 15:22 15
Цитата Сообщение от LeX Посмотреть сообщение
меня на so даже послали и закрыли топик
не, топик не закрыли, я там просто ответ никто не знает походу)
0
07.09.2018, 15:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.09.2018, 15:22
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru