Название: Нотификация статуса сети (network cable unplugged нотификация) Отправлено: vulko от Апреля 25, 2014, 12:53 Погуглил по вопросу нотификаций выдергивания шнура локалки и т.п. в qt, но кроме как постоянной проверки статуса ручками особых идей не обнаружил.
Есть ли возможность на линухе подписаться на нотификации об отключении сетевого шнура? Или может в QT есть такая штука? Название: Re: Нотификация статуса сети (network cable unplugged нотификация) Отправлено: Alex Custov от Апреля 25, 2014, 14:23 Раньше это можно было делать с помощью пакета iproute (iproute-dev), и функции rtnl_listen(). В последней Убунте iproute-dev уже нет, там рекомендуют использовать libmnl/libnl и аналоги.
Название: Re: Нотификация статуса сети (network cable unplugged нотификация) Отправлено: vulko от Апреля 28, 2014, 14:36 Попробовал делать через QNetworkInterface.flags() - флаги IsUp и IsActive всегда есть, независимо от того подключен ли шнур или нет.
Пробовал через QNetworkConfigurationManager.isOnline() - когда отключаю, сперва выдает false. Но через некоторое время начинает выдавать true. Неужели в QT такая печалька со статусом подключения? Название: Re: Нотификация статуса сети (network cable unplugged нотификация) Отправлено: Fregloin от Июня 18, 2014, 19:53 скорее всего придется использовать нативные апи. ну еще как вариант попробовать через dbus - ведь как то же всплывают сообщения о потере связи.
Название: Re: Нотификация статуса сети (network cable unplugged нотификация) Отправлено: Bepec от Июня 18, 2014, 21:01 Там используется механизм для сокрытия кратковременных разрывов связи. Очень удобно и полезно, но это головная боль для разработчика.
На винде к примеру даже недоступные сервисы могли до 5 минут пинговаться и опознаваться после физической потери соединения. Я поступал проще - keep alive соединение с неким сайтом и по нему ориентировался. Название: Re: Нотификация статуса сети (network cable unplugged нотификация) Отправлено: vulko от Июня 23, 2014, 12:38 Я поступал проще - keep alive соединение с неким сайтом и по нему ориентировался. это хорошо когда есть шлюз в интернет... :) Цитировать скорее всего придется использовать нативные апи. ну еще как вариант попробовать через dbus - ведь как то же всплывают сообщения о потере связи. спс, попробую поковырять iproute пакет |