Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Сети > Самописные Клиент-Сервер (TCP/IP) в LAN работают,


Автор: drug007 3.11.2011, 09:54
Здравствуйте. 
Подобная тему уже была, но тема не была раскрыта, а поднимать старую тему не стал.
Написал клиент и сервер под win32, в LAN они работают. Нужно обеспечить работу в WAN. Прописываю в настройках клиента в качестве адреса сервера выделенный IP (внешний) домашней сети, на роутере прописываю port forwarding по нужному порту на машину из домашней сети с запущенным сервером. Запускаю клиента тоже из домашней сети. В результате сервер в лог пишет, что клиент к нему коннектится с мгновенным дисконнектом. Клиент по тайм-ауту говорит, что сервер ему не ответил. Сервер пингуется с машины клиента (на самом деле пингуется же роутер?) В брандмауэре все прописал - и порт открыл, и запретил блокировку и клиента и сервера.
Первый вопрос - является ли port forwarding прозрачным для приложений или как разработчик я должен учитывать это при разработке? 
Второй - можно ли запускать клиент из домашней сети и указывать ему в качестве адреса сервера внешний адрес домашней сети в расчете, что роутер пробросит порт на нужную машину в домашней сети? 
Заранее благодарен.

Автор: drug007 8.11.2011, 06:18
С вопросами разобрался:
1) является
2) можно, но соединения не будет, т.к. часть пакетов роутер может прогонять по петле, а часть пакетов напрямую и соединение будет частичным.

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

Тему можно закрыть.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)