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

-=KPOT=-

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

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

как вот с етим бороться и надо ли?
а то получается сервак отослал страницу клиенту и получил ответ ну например через 1 минуту а клиент ответил на вопрос в течении 50 секунд
 

Tor

Новичок
получается сервак отослал страницу клиенту и получил ответ ну например через 1 минуту а клиент ответил на вопрос в течении 50 секунд
ну, и что в этом страшного?
можешь с ответами передавать также и время, прошедшее у клиента и, если оно не сильно отличается от времени, прошедшего на сервере, использовать в расчетах его
 

swamp_demon

Новичок
может будешь хранить время получения вопроса пользователем в базе?
а потом если время ответа - время вопроса > минуты например , ругайся
 

-=KPOT=-

Новичок
Автор оригинала: Tor
ну, и что в этом страшного?
можешь с ответами передавать также и время, прошедшее у клиента и, если оно не сильно отличается от времени, прошедшего на сервере, использовать в расчетах его
да с этим проблем нет а если наоборот таимер прислал 30 секунд а на сервере 60 секунд имеем мысли:
- медленный нет (30 сек ушло на загрузку и отправку данных)
- или клиент подделал показания таимера (такое возможно если нет то все проблемы решились контролировать по таимеру)
 

Tor

Новичок
таимер прислал 30 секунд а на сервере 60 секунд
ответь на вопросы:
если разница составляет 10 секунд, можно верить клиенту?
если разница составляет 20 секунд, можно верить клиенту?
...
если разница составляет 60 секунд, можно верить клиенту?
 

jendos

Guest
Сама по себе идея утопическая. Забудь ты про Реалтайм
через web...
 

[Gisma]

Новичок
$) можно сделать фигу сделать <iframe> который ведет отсчет и обновляется каждые 10 секунд. Походу он будет синхронизировать время с сервером. Как вариант, может подойти;)
 

-=KPOT=-

Новичок
вот если б я знал на него однозначный ответ вопросов бы не возникало нет-проверяем на серваке да-по таимеру

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

поэтому и спросил тут как поступить
сам пока решил сделать
1) 10-15% от времени на тест отводить на эти прием/передачу и соответственно увеличить время теста
или
2) в случае большого отклонения брать интервал времени кот прошел на сервере
 

[Gisma]

Новичок
;) так еще сервером предварительно пингуй клиента чтоб расчитать время задрежки ;);)
либо, действительно, напиши синхронизационный скрипт

-~{}~ 29.04.05 12:59:

а время можно рассчитывать исходя из серверного времени и последней синхронизации. У нас на фирме такую проблему решали маленькой флэшкой4)
 

kvf77

Red Devil
размести в конце страницы тег <img src="control.php"> он начнет грузиться после того, как загрузится вся страница. Выдавай скриптом пустую картинку маленькую, и считай время, когда пользователь увидел страницу
 

Tor

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

-=KPOT=-
ты скажи нам, тебе надо что бы юзер отвечал не более 5 минут, а если больше, то не принимать ответ?
 

-=KPOT=-

Новичок
вот мгне то как раз пофигу минуту,две,10
сделал систему тестирования преподы создают тесты и задают время на их прохождение (а это обязательно) вот и думаю как контролировать его
 

Tor

Новичок
ну так накинь 10% к серверному времени и, если прошло боьше, то говори "Или ты тормоз, или инет у тябя тормоз"
 

Кром

Новичок
-=KPOT=- то что данные от клиента можно подделать у тебя еще вызывает сомнения? :)
Пора уже освободиться от иллюзий и понять, что "клиентский таймер" для сервера - обыкновенная текстовая строка.
И отредактировать ее также легко, как отредактировать строку в твоем любимом редакторе.
 

-=KPOT=-

Новичок
так то оно так но тогда как правильно осуществлять контроль времени или забить на все и контролировать по серверу а клиенту выводить таймер для его собственного оповещения
 
Сверху