Всем привет. Подскажите как можно отлеживать изменения в бд и выводить их на сайте для всех пользователей. Читал про сокеты но что-то решений не нашел, а только запутался, как я понял сокеты отслеживают не изменения в бд, а то что делает клиент...
Чего я хочу:
- Если например пользователь добавил статью, то сразу же другим пользователям пришло оповещение, что добавлена новая статья и они могли ее просмотреть.
- Если пользователь оставил комментарий, пользователю статьи, сразу пришло оповещение.
- Если пользователь начинает писать сообщение в тех.поддержку мне сразу приходило оповещение что пользователь пишет сообщение
Я не хочу постоянно отправлять запросы к серверу через ajax запросы, я хочу что бы при изменении именно в бд, это отображалось на сайте
Серверная часть желательно на php, что бы проект можно было установить на обычный хостинг.
Признателен буду на хорошую литературу (на русском).
Все это хотения появилось, посмотрев как работает это в вк
Заранее спасибо.
Я просмотрел что вы написали...
Кто-то спрашивал нужны ли оповещения пользователю, это нужно мне, что бы научится работать с таким функционалам.
Прочел что есть библиотеки (php) для работы с сокетами, я принципиально не хочу пока что подключать библиотеки, так как зачастую они подтягивают не нужный функционал....
Подкиньте пожалуйста литературу или у кого есть код с комментариями, где пошагово будет описано:
- Как получать содержимое сокета отправленное в json формате на стороне сервера (PHP)
- В каком месте можно эти данные подготовить к записи в бд (PHP)
- Как отправить ответ от сервера в json формате (так как в примерах, которых я находил, ответ клиенту отправляется строкой, а не json) (PHP)
- Как отправить ответ всем сокетам, кроме того, который добавляет запись в бд (PHP)
- Как создать несколько сокетов (один веб сокет отвечает за отображение "пользователь набирает сообщение", второй отвечает за статьи "если один пользователь добавил статью, оповещение получили все, кроме этого пользователя") (JS, PHP)
Я не могу понять, почему что бы отправить сокет от клиента нужно не больше 15 строк кода, а что бы получить этот сокет в php пишут более 100 строк кода, нельзя ли это сделать в таком же количестве строк, как на стороне клиента ?
Так же волнует безопасность этих сокетов, они вообще безопасны ?
Прочел что они могут просто разорвать соединение, это нормально ?
Спасибо тем кто уже ответил и спасибо тем, кто будет отвечать.