|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Проверка наличия сети
Проблема в следующем:
Есть приложение работающее с удаленной БД, которое периодически, с интервалом в десять минут, делает обновление данных. Как можно сделать, чтобы при отключении (к примеру коммутатора) программа не выдавала ошибку подключения, а продолжала работать. Т.е., по сути не понятно: как проверить сеть - не наличие сетевой карты или провода в ней, а именно проблемы с сетью за пределами компьютера. При всем этом, обязательно отсутствие привязки к адресу или пингу сервера. |
#2
|
|||
|
|||
Я думаю здесь подойдут исключения:
PHP код:
TDLite - Немного о кодинге |
#3
|
|||
|
|||
Оно само собой понятно, что "исключения", только вопрос не в этом
|
#4
|
||||
|
||||
Что юзаешь для связи с сервером?
Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#5
|
|||
|
|||
Используй функцию WinAPI -- InternetGetConnectedState.
InternetGetConnectedState |
#6
|
|||
|
|||
В таком случае не надо ничего проверять.
Делаешь подключение с разумным тайм-аутом (ну секунду, максимум 2) и при ошибке просто ничего не делаешь (эксепшн обраьотать все-таки надо). В идеале, "выкидываешь" код обновления в отдельный поток, тогда пользователь даже не заметит ничего. Только аккуратно синхронизируй сам процесс обновления. Я бы сделал примерно так: 1. в отдельном потоке подключаемся к серверу и скачиваем обновление. 2. Извещаем пользователя, что есть обновление и спрашиваем у него, можно ли применять. 3. Если можно, то блокируем работу и ставим обновление. |