Архитектура: Javascript отслеживание событий в браузере - PullRequest
0 голосов
/ 24 апреля 2020

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

Я хочу иметь возможность отслеживать следующее:

  1. Просмотр страницы даже
  2. Время на этой странице

или:

  1. Событие начала воспроизведения видео
  2. Время просмотра видео

Моей первой первоначальной мыслью было сделать простое javascript сообщение на сервер, но что произойдет, если пользователь закроет окно? Откуда я знаю, что они перестали просматривать? И как я могу получить точные измерения с точностью до 1/10 секунды? Поэтому я подумал о решении для веб-сокетов, поскольку оно знает, когда пользователь сделал скидку. Я закончил с Socket.io, но я хочу убедиться, что нет лучшего или более умного способа достичь этого?

Как бы вы подошли к его вызову? Какой самый умный способ спроектировать это?

1 Ответ

0 голосов
/ 25 апреля 2020

Соединение Websocket, которое часто отправляет отчеты на сервер, также было моей первой мыслью, но если вы отправляете 10 сообщений каждую секунду, даже это может быть слишком много для websocket, особенно если подключение не первоклассное.

Поскольку серверу не требуется информация абсолютно немедленно, рассмотрите пакетирование запросов вместо этого - сохраняйте / обновляйте информацию в локальном хранилище каждые 0,1 секунды, но не отправляйте ее на сервер - вместо этого каждые 30 или 60 секунд или при загрузке страницы берите текущие данные в локальном хранилище и отправляйте их на сервер, а затем очищайте локальное хранилище, чтобы следующий запрос через минуту не отправлял дублирующиеся данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...