Самописные Клиент-Сервер (TCP/IP) в LAN работают, в WAN нет.
Не уверен, что запостил куда нужно, надеюсь, модераторы не обидятся.
Написал клиент и сервер, в LAN они работают. Нужно обеспечить работу в WAN. Прописываю в настройках клиента в качестве адреса сервера выделенный IP (внешний) домашней сети, на роутере прописываю port forwarding по нужному порту на машину из домашней сети с запущенным сервером. Запускаю клиента тоже из домашней сети. В результате сервер в лог пишет, что клиент к нему коннектится с мгновенным дисконнектом. Клиент по тайм-ауту говорит, что сервер ему не ответил.
Первый вопрос - является ли port forwarding прозрачным для приложений или как разработчик я должен учитывать это при разработке?
Второй - можно ли запускать клиент из домашней сети и указывать ему в качестве адреса сервера внешний адрес домашней сети в расчете, что роутер пробросит порт на нужную машину в домашней сети?
Заранее благодарен.
Цитата: _drug_
Первый вопрос - является ли port forwarding прозрачным для приложений или как разработчик я должен учитывать это при разработке?
является
Цитата: _drug_
Второй - можно ли запускать клиент из домашней сети и указывать ему в качестве адреса сервера внешний адрес домашней сети в расчете, что роутер пробросит порт на нужную машину в домашней сети?
Заранее благодарен.
можно-то можно, только роутер скорее всего соединит их напрямую, без петли
Может быть еще подскажете, почему клиент запущенный на шлюзе (именно на шлюзе) другой подсети (т.е. две подсети соединены через инет, в одной клиент, в другой сервер) начинает пожирать ресурсы, хотя обычно практически их не потребляет. Т.е. нет ли каких нюансов в запуске сетевого приложения на шлюзе? Я понимаю, что так делать не стоит, но хотелось бы просто разобраться, я в администрировании сетей не очень разбираюсь.
Что значит - обычно не потребляет? Вообще разницы быть не должно.
Приношу свои извинения - человек неправильно описал проблему, ресурсы на самом деле потребляются незначительно.