LINUX.ORG.RU

Посмотри функции, описанные в netdb.h Там были какие-то gethost-функции. Кажется, gethostbyname.

josephson ★★
()
Ответ на: комментарий от puz

Имена интерфейсов бери в /proc - там много чего полезного можешь ещё найти.

Зная имя интерфейса, делай так:

создаешь сокет,

struct ifreq _ifr; // h-файл для структуры сам найди :)

struct sockaddr_in *slocal;

strcpy(_ifr.ifr_name, "ETH0"); // - имя интерфейса

ioctl(sock, SIOCGIFADDR, &_ifr);

slocal = (struct sockaddr_in *)&_ifr.ifr_addr;

и все - готов адрес.

Spectr ★★★
()
Ответ на: комментарий от Spectr

Спасибо, но мне нужен портабельный вариант. Скорее всего надо пробовать что-то в духе gethostname() + getaddrinfo() или gethostname() + gethostbyname().

puz
() автор топика
Ответ на: комментарий от puz

это уже обсуждалось когда-то .. поищи в лоровсом поиске что то типа "Die-Hard маленьким таймаутом" :)

lg ★★
()
Ответ на: комментарий от Die-Hard

Всем спасибо за комментарии. Подумав, я все-таки остановился на gethostname() + gethostbyname(). В моем случае это вполне приемлемо.

puz
() автор топика
Ответ на: комментарий от puz

puz (*) (25.06.2004 8:28:19):

Не наступи на грабли с gethostbyname() -- см. мои комментарии в том коде, что я приводил в треде по ссылке выше.

Die-Hard ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.