Подскажите, пожалуйста, правильный вариант реализации клиент-серверного взаимодействия (если это можно таковым назвать).
Суть: имеем хостинг (сервер) с MySQL и клиент-приложение, при запуске получающее актуальную БД. Через клиент каждый авторизованный пользователь может добавлять/изменять/удалять данные из общей базы на сервере (использую HTTP).
Вопрос: каким образом можно получить список измененных/добавленных строк другим пользователем без перезапуска программы и полной загрузки всей базы?
Например: Client1 изменил какую-либо запись в БД; Client2, Client3 отправили "getUpdates", получили информацию с этим обновлением и "отрисовали" у себя в интерфейсе
Спасибо.
UPD:
Создал таблицу Actions, в которую вношу информацию об изменениях в БД: [ Id | Table | Action | RowId | Date ]. При получении "сервером" инфы, вносим название измененной таблицы, произведенное действие, измененную строку и время, в которое это действие было совершено.
Создал таблицу Sessions, в которой храню ClientId и UpdatedDateTime. Сессию создает сервер при авторизации клиента и передает ClientId клиенту, UpdatedDateTime изначально равен времени входа пользователя.
Клиент каждые n-минут посылает запрос к серверу, передавая свой ClientId. Получаем UpdatedDateTime по переданному ClientId и делаем выборку из таблицы Actions. (Actions.Date > Sessions.UpdatedDateTime) Шлём инфу об изменениях клиенту.
При получении обновленных данных, клиент добавляет их в свою (локальную) БД и "отчитывается" перед сервером о получении.
Сервер получает инфу о том, что клиент обновился и вносит текущее время в UpdatedDateTime. (и возвращаемся к пункту 3)
Profit?
Откомментируйте, пожалуйста, нормален ли такой подход к обновлениям?)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Здраствуйте подскажите что лучше и в чем разница? Скачать Open Server или скачать все ручно MySQL PHP Apache
На главной странице админки добавить показатель юзеров онлайн на сайте сейчасНужно учесть
подскажите пожалуйста как в коде прописать два запроса в БД Таблица, пользователи и таблица платеж, в отдельности запросы работают, а вместе...