Привет. У меня происходит авторизация на php+js. Логично ли у пользователя в БД сделать колонку online со значением 1 (онлайн) и 0 (офлайн), и чтобы при входе на сайт изменить эту колонку, а при выходе обнулять? Но, конечно, так дело не годится. В плане того, что выход может и не нажат, к примеру. Использую node.js.
Как сделать, чтобы независимо от страницы сайта, если хранятся куки, то в ноде передается сообщение в БД с внесением изменений в колонку online? У меня есть пример чата, передаю данные сокетами (socket.io), но я указываю на странице этого чата путь до этого сокета.
Как сделать, чтобы нод определял это на всех страницах сайта? Каждый раз подключать на всех страницах сокет или же как? Надеюсь, понятно объяснил.
@lxfr А не будет ли он каждый раз думать что я новый клиент, если буду прыгать со страницу на страницу? А если у меня будет обновляться только часть страницы, а шапка будет всегда на месте (как в соц сетях), то разумнее подключить в шапку?
Если вы обновляете только часть страницы, то конечно только в шапку. Любое закрытие страницы с сокетом (например переход по a href) будет означать потерю коннекта с сокетом.
с вашей логикой не нужны websockets или же нужны только websockets без баз данных. Вы можете привязать к соединениям id пользователя, и периодически трекать какие соединения нынче мертвы, таким образом определяя онлайн пользователь или нет.
Но вообще на вашем месте я бы еще раз поресерчил как обычно решают подобные задачи.