![]() |
|
![]() ![]() ![]() |
|
Selestin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 20.10.2010 Репутация: нет Всего: нет |
Добрый день!
Подскажите, каким образом более правильно реализовать контроль сетевого соединения? Приложение обменивается JSON пакетами с сервером, необходимо контролировать момент, когда сеть пропала. Было решено внедрить таймер, который отсылал бы keepalive пакеты до сервера, и если накапливалось определенное количество пропавших пакетов, сигнализировал бы об этом клиенту, отсылая на первый экран. Суть вопроса вот в чем: Этот таймер необходимо инициализировать в каждом view или же повесить при старте приложения, и уже оттуда обращаться к view, чтобы перекинуть юзера на первый экран? Спасибо! |
|||
|
||||
Bitter |
|
|||
![]() Опытный лентяй ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1209 Регистрация: 15.8.2004 Где: Харьков, Ukraine Репутация: 10 Всего: 27 |
Selestin, с таймером затея явно глупая.
Для контроля соединения вам нужен класс Reachability. Его нет в SDK, но он есть в документации Apple вот тут (там же можно скачать пример с самим классом): http://developer.apple.com/library/ios/#sa...tion/Intro.html Чтобы подключить его к проекту - надо скопировать файлы .m и .h в проект и добавить SystemConfiguration framework |
|||
|
||||
Selestin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 20.10.2010 Репутация: нет Всего: нет |
Как он работает мне понятно, спасибо.
Но мне необходимо давать "таймаут", для возможного восстановления соединения. Тоесть мне нужно будет засекать, через этот фрейморк, сколько времени сеть лежит, получается таймером уже, и по истечении времени выводить на главный экран? |
|||
|
||||
Bitter |
|
|||
![]() Опытный лентяй ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1209 Регистрация: 15.8.2004 Где: Харьков, Ukraine Репутация: 10 Всего: 27 |
Написал сначала что таймаут не нужен, но топом подумал и решил, что все таки да, если в течение таймаута у вас есть возможность восстановления сети, то вы просто по получении сигнала об обрыве связи можете вызвать метод повторной проверки состояния через указанное время. И если и при повторной проверке соединение не появилось, то тогда делайте переход.
Что-то типа того
Это сообщение отредактировал(а) Bitter - 1.4.2013, 10:30 |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | iOS | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |