Russian Qt Forum
Ноябрь 23, 2024, 05:12 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Нотификация статуса сети (network cable unplugged нотификация)  (Прочитано 3247 раз)
vulko
Гость
« : Апрель 25, 2014, 12:53 »

Погуглил по вопросу нотификаций выдергивания шнура локалки и т.п. в qt, но кроме как постоянной проверки статуса ручками особых идей не обнаружил.

Есть ли возможность на линухе подписаться на нотификации об отключении сетевого шнура? Или может в QT есть такая штука?
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #1 : Апрель 25, 2014, 14:23 »

Раньше это можно было делать с помощью пакета iproute (iproute-dev), и функции rtnl_listen(). В последней Убунте iproute-dev уже нет, там рекомендуют использовать libmnl/libnl и аналоги.
Записан
vulko
Гость
« Ответ #2 : Апрель 28, 2014, 14:36 »

Попробовал делать через QNetworkInterface.flags() - флаги IsUp и IsActive всегда есть, независимо от того подключен ли шнур или нет.

Пробовал через QNetworkConfigurationManager.isOnline() - когда отключаю, сперва выдает false. Но через некоторое время начинает выдавать true.

Неужели в QT такая печалька со статусом подключения?
« Последнее редактирование: Апрель 28, 2014, 14:47 от vulko » Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #3 : Июнь 18, 2014, 19:53 »

скорее всего придется использовать нативные апи. ну еще как вариант попробовать через dbus - ведь как то же всплывают сообщения о потере связи.
Записан
Bepec
Гость
« Ответ #4 : Июнь 18, 2014, 21:01 »

Там используется механизм для сокрытия кратковременных разрывов связи. Очень удобно и полезно, но это головная боль для разработчика.
На винде к примеру даже недоступные сервисы могли до 5 минут пинговаться и опознаваться после физической потери соединения.

Я поступал проще - keep alive соединение с неким сайтом и по нему ориентировался.
Записан
vulko
Гость
« Ответ #5 : Июнь 23, 2014, 12:38 »

Я поступал проще - keep alive соединение с неким сайтом и по нему ориентировался.

это хорошо когда есть шлюз в интернет... Улыбающийся

Цитировать
скорее всего придется использовать нативные апи. ну еще как вариант попробовать через dbus - ведь как то же всплывают сообщения о потере связи.
спс, попробую поковырять iproute пакет
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.137 секунд. Запросов: 22.