Russian Qt Forum

Qt => Вопросы новичков => Тема начата: virtual_root от Июня 07, 2012, 12:40



Название: как программно расшарить порт ?
Отправлено: virtual_root от Июня 07, 2012, 12:40
Добрый день ребята. Подскажите пожалуйста, как решить следующую проблему:
Есть два приложения клиент и сервер. Они обмениваются информацией по протоколу TCP. В локальной сети всё работает.
 попросила подругу установить себе клиента, а у меня стоит сервер. Сообщения от неё мне не доходят и мои к ней тоже не приходят.
Я понимаю, что такие программы как icq используют свой сервер и гоняют через него все сообщения. Но как можно решить эту проблему не используя дополнительный сервер?  Хакеры как-то же это делают?  
Я хочу добиться соединения напрямую, без участия стороннего сервера.  Я так же понимаю что мне нужно порт открыть для внешних соединений ? Или как-то хитро сделать ip глобальным(ну правда это мне кажется не реально, ведь эти занимаются dns службы).
Буду ждать ваших советов.


Название: Re: как программно расшарить порт ?
Отправлено: mutineer от Июня 07, 2012, 12:50
Способ подклчения у тебя интернета разрешает входящие подключения? Файервол твой не блокирует нужный порт на локальной машине?


Название: Re: как программно расшарить порт ?
Отправлено: virtual_root от Июня 07, 2012, 12:52
не задумывалась об этом.. а как это проверить не подскажите?


Название: Re: как программно расшарить порт ?
Отправлено: virtual_root от Июня 07, 2012, 12:54
проверила порт на сайте http://www.whatsmyip.org/port-scanner/. Пишет что порт открыт. У меня Linux стоит, а у подруги windows. Может у неё что-то нужно программно открыть?


Название: Re: как программно расшарить порт ?
Отправлено: mutineer от Июня 07, 2012, 13:00
проверила порт на сайте http://www.whatsmyip.org/port-scanner/. Пишет что порт открыт. У меня Linux стоит, а у подруги windows. Может у неё что-то нужно программно открыть?

Если у нее клиент, который создает исходящее соединение, то возможно фаервол блочит исходящее подключение.

Цитата: virtual_root
Сообщения от неё мне не доходят и мои к ней тоже не приходят.

Сообщения не приходят, а соединение вообще происходит?


Название: Re: как программно расшарить порт ?
Отправлено: LisandreL от Июня 07, 2012, 13:25
Если у нее клиент, который создает исходящее соединение, то возможно фаервол блочит исходящее подключение.
Или на роутере (если таковой имеется) порт не провешан / UPnP отключён.


Название: Re: как программно расшарить порт ?
Отправлено: mutineer от Июня 07, 2012, 13:27
Если у нее клиент, который создает исходящее соединение, то возможно фаервол блочит исходящее подключение.
Или на роутере (если таковой имеется) порт не провешан / UPnP отключён.

Разве на исходящие соединения нужно провешивать порт / использовать UPnP? Впервые слышу о таком


Название: Re: как программно расшарить порт ?
Отправлено: lighting от Июня 09, 2012, 11:12
Есть простой способ проверить - с любой машины в инете подключись по telnet к тому порту который слушает твое приложение, если все Ок то увидишь данные от твоего сервера.
А причин по которым не работает может быть масса напр. файервол на твоей машине блокирует входящие подключения. Если у тебя стоит роутер то надо настроить проброс портов от роутера до твоей машины. К тому-же у твоей знакомой файервол может блокировать исходящие подключения на данный порт. И уж у обоих провайдер может блокировать данный порт (некоторые провайдеры блокируют порты за искл. некоторых стандартных вроде 80 - http). Так что лучше опиши подробнее как ты выходишь в инет, тогда можно будет ответить конкретнее.


Название: Re: как программно расшарить порт ?
Отправлено: LisandreL от Июня 09, 2012, 15:13
Разве на исходящие соединения нужно провешивать порт / использовать UPnP? Впервые слышу о таком
Я таких роутеров не встречал, которые по умолчанию блокировали бы исходящие соединение, но учитывая:
Они обмениваются информацией по протоколу TCP. В локальной сети всё работает.
 попросила подругу установить себе клиента, а у меня стоит сервер.
соединения будут входящие и их модем/роутер скорее всего будет блокировать, особенно если он многопортовый и/или Wi-Fi и без настройки банально не знает, какому из подключённых компьютеров это входяшее подключение адресовано.
Ну и про возможность наличия NATа у провайдера забывать не стоит.


Название: Re: как программно расшарить порт ?
Отправлено: mutineer от Июня 09, 2012, 15:28
Разве на исходящие соединения нужно провешивать порт / использовать UPnP? Впервые слышу о таком
Я таких роутеров не встречал, которые по умолчанию блокировали бы исходящие соединение, но учитывая:
Они обмениваются информацией по протоколу TCP. В локальной сети всё работает.
 попросила подругу установить себе клиента, а у меня стоит сервер.
соединения будут входящие и их модем/роутер скорее всего будет блокировать, особенно если он многопортовый и/или Wi-Fi и без настройки банально не знает, какому из подключённых компьютеров это входяшее подключение адресовано.
Ну и про возможность наличия NATа у провайдера забывать не стоит.

А, имелся в виду роутер на стороне сервера