Найти доступные сетевые интерфейсы в c / c ++ - PullRequest
11 голосов
/ 08 декабря 2011

Кто-нибудь знает код c / c ++ для найти доступные сетевые интерфейсы? Я искал некоторые коды, но в большинстве случаев они довольно сложные. Есть ли простой способ сделать это?

UPDATE

В Ubuntu / Linux

Ответы [ 2 ]

18 голосов
/ 08 декабря 2011

См. Справочную страницу getifaddrs . Пример программы к концу.

2 голосов
/ 08 декабря 2011

Если вы ищете это в контексте настольного приложения и хотите получать уведомления об изменениях (например, интерфейсы подключения / отключения), рассмотрите возможность использования DBus для мониторинга NetworkManager.

http://projects.gnome.org/NetworkManager/developers/api/09/spec.html

Вы можете перечислять интерфейсы, а также относящиеся к интерфейсу вещи (например, доступные и подключенные точки доступа Wi-Fi, настроенные, но не набранные PPP-ссылки и т. Д.), И, если что-то изменится, вы получите уведомление через DBus.

(Если это что-то более похожее на серверную программу, где вы ожидаете, что конфигурация сети останется более стабильной, то такие вещи, как getifaddrs, возможно, более уместны.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...