Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > 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) можно, но соединения не будет, т.к. часть пакетов роутер может прогонять по петле, а часть пакетов напрямую и соединение будет частичным. Если же подключаться к серверу клиентом из внешней сети, то все работает без проблем. Тему можно закрыть. |