Название: Проверка наличия подключения по сети Отправлено: Alex_M от Октябрь 30, 2009, 16:44 Здравствуйте! Помогите, пожалуйста со следующей задачей. Необходимо постоянно проверять наличие подключения по Локальной сети и наличие сети Интернет на компьютере пользователя (т.е. проверка на доступность той или иной сети). Все это должно проводится таким образом, что как только пользователь отключит сеть в процессе работы с приложением, некоторые опции программы становились бы для него недоступными. Как это можно организовать?
Название: Re: Проверка наличия подключения по сети Отправлено: Zmeishe от Октябрь 30, 2009, 19:47 В процессе работы с каким приложением пользователь отключит сеть?
С приложением Qt или вообще любым? Название: Re: Проверка наличия подключения по сети Отправлено: BRE от Октябрь 30, 2009, 20:57 Можно попробовать периодически дергать метод:
QList<QNetworkInterface> QNetworkInterface::allInterfaces () [static] для определения какие интерфейсы присутствуют и какое у них состояние. Думаю что есть платформозависимые решения, когда системные средства посылают сообщение при активации/деактивации интерфейса. Можно попробовать использовать их. Название: Re: Проверка наличия подключения по сети Отправлено: Alex_M от Ноябрь 02, 2009, 16:50 Не совсем понятно, как использовать QNetworkInterface::allInterfaces() ? Возвращает более 10 000 записей в QList. Как определять, когда есть сеть, а когда нет?
Название: Re: Проверка наличия подключения по сети Отправлено: BRE от Ноябрь 02, 2009, 16:54 Не совсем понятно, как использовать QNetworkInterface::allInterfaces() ? Возвращает более 10 000 записей в QList. Как определять, когда есть сеть, а когда нет? Да?! :oОн должен и, как минимум под linux, возвращает доступные интерфейсы. Конкретно у меня их 3: eth0, lo, ppp0. Код
Ты его под какой платформой пробуешь? Название: Re: Проверка наличия подключения по сети Отправлено: Alex_M от Ноябрь 02, 2009, 17:13 Под Windows использую. Попробую разобраться в чем дело.
Название: Re: Проверка наличия подключения по сети Отправлено: Alex_M от Ноябрь 02, 2009, 17:15 Еще один вопросик, а что за сокращения eth0, lo, ppp0? ;D
Название: Re: Проверка наличия подключения по сети Отправлено: BRE от Ноябрь 02, 2009, 17:17 Еще один вопросик, а что за сокращения eth0, lo, ppp0? ;D Имена интерфейсов.Для венды можно использовать QString QNetworkInterface::humanReadableName () const для получения "человеческих" имен. :) Название: Re: Проверка наличия подключения по сети Отправлено: Alex_M от Ноябрь 02, 2009, 17:23 Ясно. Спасибо за помощь.
Название: Re: Проверка наличия подключения по сети Отправлено: Ruzzz от Ноябрь 02, 2009, 19:13 Проверять на доступ к инету лучше пингованием какого-либо популярного ресурса, или рандомно нескольких.
Название: Re: Проверка наличия подключения по сети Отправлено: BRE от Ноябрь 02, 2009, 19:33 Проверять на доступ к инету лучше пингованием какого-либо популярного ресурса, или рандомно нескольких. Можно свой DNS-сервер пинговать. |