Если он еще не является частью вашей сборки, установите модуль Nchan websockets для Nginx.
Сконфигурируйте директиву о расположении абонента websocket на вашем сервере Nginx и укажите в ней директивы nchan_subscribe_request
и nchan_unsubscribe_request
.
Вставьте строку кода на вашу страницу, чтобы установить клиентское соединение с вашим местоположением веб-сокета при загрузке страницы.
Вот и все, готово.
Теперь, когда я захожу на вашу страницу, мой браузер будет подключаться к вашему серверу Nginx / Nchan. Nginx отправит внутренний запрос на любой адрес, который вы указали в качестве URL nchan_subscribe_request
, вы можете передать мой IP в заголовках этого запроса или на любой другой, который вам нужен, чтобы идентифицировать меня. Зарегистрируйте это в своем основном журнале, в отдельном журнале, передайте на вышестоящий сервер, php, node, создайте запись в базе данных, сохраните мою метку времени ip + в memcached, что угодно.
Затем, когда я покидаю сайт, соединение с веб-сокетом будет прервано, и Nginx будет делать то же самое, но вместо URL nchan_unsubscribe_request
. В зависимости от того, что вы сделали, когда я подключился, теперь вы можете делать все, что вам нужно, чтобы определить, сколько времени я провел на вашем сайте.
Поскольку у вас теперь есть постоянное соединение с вашими клиентами, вы можете сделать еще один шаг вперед и включить некоторый код для отслеживания определенного поведения клиентов или отслеживания определенных событий.
Вы пытаетесь определить, читают или нет люди то, что вы пишете, чтобы вы могли использовать несколько строк javascript для отслеживания того, как далеко прокручивали посетители страницы. Каждый раз, когда они прокручиваются до новой максимальной позиции прокрутки, отправляйте эти данные через веб-сокет обратно на ваш сервер.