2013-10-06 3 views
0

У меня есть приложение ios, пользователи могут войти в систему и выйти из системы, когда захотят. На стороне сервера, я хочу знать, какие пользователи подключены к сети. Я мог бы сделать что-то вроде того, как установить пользователя в сети, когда вызывается веб-служба входа, и установить его в автономном режиме при вызове веб-службы выхода из системы. Но я не могу быть уверен, что выход из системы всегда выполняется, может быть, сотовый телефон внезапно отключится, поэтому сервер будет держать пользователя в сети, а когда он попытается снова войти в систему, он получит сообщение об ошибке «извините, вы уже вошли в систему»,отслеживать подключенных пользователей в приложении ios

может быть, я могу сделать что-то с сервером обратной связи (мое приложение использует уведомления толчка), но я не знаю, как быстро он обнаруживает, что пользователь зашел на форуме ...

+0

Почему вы хотите запретить вход в систему, если вы уже вошли в систему, - звучит как проблема обслуживания. Кроме того, вы подумали о контролере с сервером? – Wain

+0

Да, но приложение нужно запускать в фоновом режиме, поэтому я не могу иметь сторожевого таймера, всегда говорящего на сервере «im still online» ... –

+0

Его приложение для отслеживания GPS, которое отправляет местоположение на сервер, может быть два открытых сеанса для того же пользователя, потому что оба местоположения будут получены, и это не нормально. –

ответ

0

в этих случаях я думаю, что лучше думать, чтобы сделать что ваше приложение должно пинговать ваш сервер каждые X секунд и обновлять свое поле «last_online».

В вашей логике вы можете рассмотреть, например, что пользователь, последний раз увиденный онлайн более 3 минут назад, считается автономным.

Как вы сказали, вы не можете доверять пользователю, чтобы нажать «выйти», чтобы вы не могли предположить, что это время его выхода из системы.

Конечно, вы все же можете позволить пользователю вручную выйти из системы.

+0

Это было бы неплохо, но приложение нужно запускать на фоне, а ios doest позволяет вам вечно запускать службу. –

+0

Если приложение находится в фоновом режиме, разве это не эквивалентно тому, чтобы быть в автономном режиме? –

+0

Нет, потому что местоположение все еще отслеживается ... –

Смежные вопросы