[P&AM Lab] Получение IP адреса

LonelyRuyK Lonely.RuyK на mail.ru
Чт Июн 23 02:47:36 MSK 2011


Эксперементирую с сокетами. Немного запутался с тем как программе получить 
интернет адрес машины на которой она запускается. Пробовал gethostname а затем 
gethostbyname, возвращается только адрес локальной сети(127.0.1.1) Затем 
пытался воспользоваться функцией getifaddrs, она почему-то сваливалась в 
сегментацию(даже тот кусок кода что приведён в ман странице к функции). 
Размышления и гугл привели к мысли либо использовать функцию system(), 
вызывать ifconfig и вычленять из него адрес, либо то же самое делать 
fork/exec'ом, либо брать IP адреса из /proc/net/route/. Ещё нашёл способ когда 
создаётcя udp сокет, коннектится к какому-нибудь адресу и затем вызывается 
getsockname. Но всё это выглядит как-то сложно. Скажите пожалуйста есть ли 
методы проще?


Подробная информация о списке рассылки Lab