Ответ 1
Самый простой способ, по-моему, использовать socket.io, реализованный в парусах, если я правильно помню, он просто называется сокетом.
Все контроллеры могут быть вызваны с socket.io(клиентская сторона) IIRC. Подход, который я принял, - создать модель, называемую сообщениями, а затем просто создать несколько конечных точек для сообщений. Если вы хотите использовать модели (pub/sub), вы можете подписаться только на те, которые вы хотите. вы можете подписаться на каждого отдельного пользователя только на одну модель, даже если у вас их много.
То, что я делал, это делать это вручную, когда я получаю одно сообщение, я сразу же отправлю его правильному клиенту. Но если вы хотите меньше писать код, вам просто нужно подписаться на вашу модель Model.subscribe()
(http://sailsjs.org/documentation/reference/web-sockets/resourceful-pub-sub/subscribe)
поэтому, когда сообщение добавляется в базу данных, вы можете отправить его кому бы то ни было.
Вот еще один пример чата, построенного поверх sails.js: https://github.com/asm-products/boxychat-old