Russian Qt Forum

Qt => Работа с сетью => Тема начата: Caduceus от Март 29, 2012, 10:12



Название: Как узнать, что интернет пропал и появился?
Отправлено: Caduceus от Март 29, 2012, 10:12
Нужно узнавать моменты когда сети нет и когда появилась. Я так понимаю лучше в отдельном потоке что-то пинговать? Есть у кого пример такой штуки на Qt?


Название: Re: Как узнать, что интернет пропал и появился?
Отправлено: ecspertiza от Март 29, 2012, 12:27
Примера нету, но как самы простой вариант QNetworkAccessManager , и слать гет например на ya.ru  если в finished пришел еррор стало быть инета нет, если не еррор, то инет есть ))) Можно слать например раз в минуту, даже можно слать не гет ,а head что бы меньше трафика кушать.


Название: Re: Как узнать, что интернет пропал и появился?
Отправлено: Bepec от Март 29, 2012, 13:07
А можно вообще тупо запускать ping /смотреть ответ.
Или же использовать сокеты win Api.
Или QNAM как предложили.


Название: Re: Как узнать, что интернет пропал и появился?
Отправлено: kambala от Март 29, 2012, 13:08
по идее нативные апи платформ должны предоставлять такие функции


Название: Re: Как узнать, что интернет пропал и появился?
Отправлено: Fregloin от Март 30, 2012, 15:40
вот например как в семерке определяется есть инет или нет? пингуется сайт майкросфт?


Название: Re: Как узнать, что интернет пропал и появился?
Отправлено: kambala от Март 30, 2012, 16:00
http://msdn.microsoft.com/en-us/library/windows/desktop/aa374765(v=vs.85).aspx вроде то, что надо


Название: Re: Как узнать, что интернет пропал и появился?
Отправлено: Alex Custov от Март 30, 2012, 16:25
Если в сети нет каких-то файрволов, то я бы просто коннектился через сокет на 8.8.8.8:53. Коннект прошёл - сеть есть.


Название: Re: Как узнать, что интернет пропал и появился?
Отправлено: V1KT0P от Март 30, 2012, 17:18
Если в сети нет каких-то файрволов, то я бы просто коннектился через сокет на 8.8.8.8:53. Коннект прошёл - сеть есть.
Лучше не ограничиваться одним адресом. Можно еще проверять корневые ДНС.


Название: Re: Как узнать, что интернет пропал и появился?
Отправлено: Bepec от Март 30, 2012, 17:44
8.8.8.8 помоему и есть DNS сервер. ;)


Название: Re: Как узнать, что интернет пропал и появился?
Отправлено: V1KT0P от Март 30, 2012, 17:48
8.8.8.8 помоему и есть DNS сервер. ;)
Но всего один. Вот например когда яндекс был недоступен а по нему проверялось наличие интернета, сколько скриптов и программ сошло с ума =). Не надо зацикливаться на одном адресе, лучше всего пару десятков.


Название: Re: Как узнать, что интернет пропал и появился?
Отправлено: Bepec от Март 30, 2012, 17:55
Скажем так - если упадёт гугль, то это будет печально...

А так конечно лучше проверить все 13 корневых DNS сов, если их Анонимусы 31 числа не вырубят.