Ответ 1
Просто перезапишите Backbone.sync
, чтобы он отправил сообщения вниз socket.io и сообщает соответствующим моделям backbonejs на сервере изменить состояние.
Интересной частью этого решения является настройка отношения мастер-мастер. Вы должны убедиться, что для любого клиента они могут только "обновить" состояние моделей на сервере, что у них есть "собственность", чтобы избежать хакеров и коррупции на стороне сервера.
Итак, для каждого клиента у них есть набор M, где этот клиент является мастером всех моделей в M и имеет набор S, где у этого клиента есть подчиненные устройства всех моделей в S.
Он может только принудительно обновлять на сервере моделей в M, и только один клиент должен иметь определенную модель в M (или вам нужно реализовать надежную реализацию блокировки/слияния).
Всякий раз, когда обновляется модель на сервере, вы просто нажимаете на любого клиента, у которого есть эта модель в S. (и нажимайте на любого клиента, который имеет эту модель в M, если модель находится в M для нескольких клиентов).
Многие мысли нуждаются в управлении/разрешениях и правах собственности, которые обычно обрабатываются контроллером MVC после того, как клиент POST/PUT/DELETE некоторые данные.