![]() |
Узнать IP на C++
При тестировании моего тр... в общем моей программы, у меня возникла проблема: нужно было определить айпи-адрес клиента.
Определяю я его так: Код:
//Получиние своего IPМожно ли как-нибудь определить внешний адрес методами С++, не прибегая к стороннему серверу(я конечно могу заставить его подконнектится к моему скрипту, опр. айпишник, или, например, спарсить его с 2ip.ru, но это, как мне кажется, изврат). Или, например, если заставить его приконнектится к опр.(моему) IP, а самому принять этот коннект, то как тогда определить адрес? |
Если клиент за натом/роутером, то узнать реальный IP кроме как через внешний сервер - никак.
Да, и нету тут никакого изврата в парсе IP через внешний сервер. Для того что бы узнать IP того кто к тебе приконектился смотри 2 переменную в функции accept, а точней поле sin_addr.s_addr в структуре addr. |
agrofyl2,
вопрос интересный. пока не задумывался особо, не было в том нужды. но похоже внешний адрес рутера придется определять сторонними методами. по крайней мере, в ОС не видел реального своего АйПи, лишь 192.* (Вай-Фай) |
тс, делаеш запрос на сайт типа _ttp://www.whatismyip.com/ и регуляркой выдираеш реальный ip. можно не регуляркой, тогда через жопу, но напорядок меньше весит. в любом случае - элементарно пишется. либо можно ещё проще - сделать страницу на фрихосте, которая будет говорить ip. тогда вообще просто
|
Итак, все получилось.
У меня уже была написана команда, по которой клиент коннектится к опр. IP. И я получаю его IP как говорил __mad: Код:
#include "iostream"__mad'у спасибо!!! и вообще всем кто ответил |
| Время: 21:40 |