Как контролировать время?

-=KPOT=-

Новичок
Как контролировать время?

Суть проблемы
проводится online тест ограниченный по времени
время контролируется на клиенте js скриптом, т.е. там идет обратный отсчет.
на сервере время тоже фиксируется ибо доверять таимеру у клиента не хочется (может я не прав?)
но возникает задержка т.е. на серваке допустим время 5 минут это от момента отправки результата работы скрипта клиенту и до момента получения ответа от клиента (ответа на вопрос в тесте)
у клиента же таимер покажет только общее время за вычетом времени которое ушло на получение страницы и ее загрузки и времени отсылки данных серваку при ответе на вопрос т.е. меньше 5 минут

как вот с етим бороться и надо ли?
а то получается сервак отослал страницу клиенту и получил ответ ну например через 1 минуту а клиент ответил на вопрос в течении 50 секунд
 
получается сервак отослал страницу клиенту и получил ответ ну например через 1 минуту а клиент ответил на вопрос в течении 50 секунд
ну, и что в этом страшного?
можешь с ответами передавать также и время, прошедшее у клиента и, если оно не сильно отличается от времени, прошедшего на сервере, использовать в расчетах его
 
может будешь хранить время получения вопроса пользователем в базе?
а потом если время ответа - время вопроса > минуты например , ругайся
 
Автор оригинала: Tor
ну, и что в этом страшного?
можешь с ответами передавать также и время, прошедшее у клиента и, если оно не сильно отличается от времени, прошедшего на сервере, использовать в расчетах его
да с этим проблем нет а если наоборот таимер прислал 30 секунд а на сервере 60 секунд имеем мысли:
- медленный нет (30 сек ушло на загрузку и отправку данных)
- или клиент подделал показания таимера (такое возможно если нет то все проблемы решились контролировать по таимеру)
 
таимер прислал 30 секунд а на сервере 60 секунд
ответь на вопросы:
если разница составляет 10 секунд, можно верить клиенту?
если разница составляет 20 секунд, можно верить клиенту?
...
если разница составляет 60 секунд, можно верить клиенту?
 
Сама по себе идея утопическая. Забудь ты про Реалтайм
через web...
 
$) можно сделать фигу сделать <iframe> который ведет отсчет и обновляется каждые 10 секунд. Походу он будет синхронизировать время с сервером. Как вариант, может подойти;)
 
вот если б я знал на него однозначный ответ вопросов бы не возникало нет-проверяем на серваке да-по таимеру

сам склоняюсь что нет, вообще доверять тому что пришло от клиента не стоит

поэтому и спросил тут как поступить
сам пока решил сделать
1) 10-15% от времени на тест отводить на эти прием/передачу и соответственно увеличить время теста
или
2) в случае большого отклонения брать интервал времени кот прошел на сервере
 
;) так еще сервером предварительно пингуй клиента чтоб расчитать время задрежки ;);)
либо, действительно, напиши синхронизационный скрипт

-~{}~ 29.04.05 12:59:

а время можно рассчитывать исходя из серверного времени и последней синхронизации. У нас на фирме такую проблему решали маленькой флэшкой4)
 
размести в конце страницы тег <img src="control.php"> он начнет грузиться после того, как загрузится вся страница. Выдавай скриптом пустую картинку маленькую, и считай время, когда пользователь увидел страницу
 
размести в конце страницы тег <img src="control.php"> он начнет грузиться после того, как загрузится вся страница. Выдавай скриптом пустую картинку маленькую, и считай время, когда пользователь увидел страницу
если скорость не высока, то время запроса на эту картинку тоже будет по времени не совпадать с серверным

-=KPOT=-
ты скажи нам, тебе надо что бы юзер отвечал не более 5 минут, а если больше, то не принимать ответ?
 
вот мгне то как раз пофигу минуту,две,10
сделал систему тестирования преподы создают тесты и задают время на их прохождение (а это обязательно) вот и думаю как контролировать его
 
ну так накинь 10% к серверному времени и, если прошло боьше, то говори "Или ты тормоз, или инет у тябя тормоз"
 
-=KPOT=- то что данные от клиента можно подделать у тебя еще вызывает сомнения? :-)
Пора уже освободиться от иллюзий и понять, что "клиентский таймер" для сервера - обыкновенная текстовая строка.
И отредактировать ее также легко, как отредактировать строку в твоем любимом редакторе.
 
так то оно так но тогда как правильно осуществлять контроль времени или забить на все и контролировать по серверу а клиенту выводить таймер для его собственного оповещения
 
Сверху