Если вы хотите отправлять запросы на сервер каждые 5 секунд, вы можете отправить текущее время (используя new Date().getTime()
) в запросе, который отправляется с клиента на сервер.
Сохраните время 1-гозапрос отправлен в базу данных.Это время, когда пользователь начал опрос.
Когда приходит каждый последующий пакет, вычтите время, которое был отправлен 1-й запрос, чтобы получить общее время, проведенное пользователем до сих пор в опросе.Когда пользователь нажимает кнопку, чтобы завершить опрос, вы можете отправить окончательный запрос, указывающий, что опрос завершен.
Возможно, вы также захотите отправить запросы на события размытия и фокусировки документа.Эти события отслеживают, когда пользователь уходит и возвращается на вашу страницу, не закрывая страницу вниз.