какую библиотеку c / c ++ можно использовать для обработки соединений Wi-Fi для Linux? - PullRequest
7 голосов
/ 29 декабря 2011

Я хочу реализовать программу WiFi Manager, которая должна обрабатывать следующее.

  • уведомление о точке доступа Wi-Fi пришло или ушло
  • предоставить информацию о доступной точке доступа Wi-Fi
  • подключить / отключить с помощью данной точки доступа Wi-Fi

Какая библиотека C / C ++ WiFi рекомендуется для Linux для достижения этой цели?

Ответы [ 3 ]

4 голосов
/ 29 декабря 2011

В Fedora (по крайней мере) предпочтительный способ взаимодействия с NetworkManager - через DBus.

Хотя беспроводные инструменты и т.п. будут работать - даже прямые вызовы ядра, если необходимо, - есть пара проблем:

  • Возможно, вам потребуются привилегии суперпользователя
  • NetworkManager, вероятно, подвергнется панической атаке и вступит с вами в драку, если вы не прекратите его обслуживание
  • Обычные сетевые элементы управления пользователя (например, значки на панели задач на рабочем столе) почти наверняка настроены для использования NetworkManager.

Вы можете отправлять и получать сообщения DBus для всех упомянутых вами задач, для WiFi, а также для любых других типов сетевых интерфейсов. API публикуется здесь, для версии 0.8 .

Для более новых операционных систем, по-видимому, изменения в API, с руководством по миграции .

Их вики должны быть действительно полезными.

Я знаю, что и Fedora, и Ubuntu по умолчанию используют NetworkManager; Я полагаю, что многие другие системы тоже, но не имеют исчерпывающего списка.

Конечно, если вы используете встроенную систему, пользовательский дистрибутив или что-то еще, ваш пробег может отличаться.

4 голосов
/ 29 декабря 2011

Это будет wireless-tools

1 голос
/ 25 октября 2016

Я бы рекомендовал использовать NetworkManager Library .

.

Вы можете использовать низкоуровневую библиотеку D-Bus или библиотеку libnm-glib, которая упрощает общение: пример добавления соединения glib

Для получения дополнительной информации вы можете взглянуть на код клиента командной строки nmcli .

...