Видно ли мое сетевое приложение из локальной сети в интернете?
Я подключен к wifi, который в "коридоре", то есть он не мой, но я могу там что-нибудь подкрутить, если надо будет. И у меня на компе работает какое-нибудь сетевое приложение на определенном порту. Могу я к нему (этому приложению) подлючиться (послать пакет, получить ответ) через интернет (из кафешки, например)? Разумеется, ip адрес, которым wifi в коридоре смотрит в интернет я могу узнать.
Можете, но лишь в том случае, если порт вашего приложения проброшен на локальный IP-адрес вашего компьютера.
Конкретные инструкции зависят от модели роутера.
мне нужен будет ip адрес wifi'я (роутера), верно? Как я могу быть уверенным, что этот ip адрес - это именно ip адрес этого wifi роутера, ведь этот wifi роутер может тоже быть в составе сети интернет провайдера и быть спрятанным за каким-то более внешним роутером? А тот роутер, возможно, также. То есть, как матрешки. В итоге, сотни wifi роутеров данного провайдера могут быть под одним внешним ip адресом.
samarkad33: вам нужен будет ваш внешний IP-адрес (увидеть его вы можете, к примеру, здесь: myip.ru/). Да, есть вероятность, что провайдер выдал вам серый IP-адрес, и, соответственно, ваш роутер находится за NAT - но я такого уже несколько лет не видел, сомневаюсь, что сейчас кто-то еще так делает.
samarkad33: В каждом роутере есть служба DynDNS. То есть это скрипт, которые привязывает доменное имя к определенному роутеру/IP
То есть, роутер при каждом получении нового внешнего IP сообщает DynDNS свой IP, а тот в свою очередь закремляет этот IP за доменный именем, например myroter.dyn.dns
Но чтобы пробрасывать порт нужен статический IP. Потому что DHCP сервер может выдать IP другому компьютеру и порт будет подбрасываться на него. Следовательно вам нужно зарезервировать IP за определенным компьютером, а это значит что вам придется указать MAC адрес сетевой карточки. И только потом пробрасывать IP.
Поэтому вместо этого я предлагаю воспользоваться — UPnP