Персонализированный чат с использованием Sails.js

Есть ли способ в sails.js или учебник, который помог бы мне построить одноранговый чат, используя сокеты, что-то вроде pubnub.

Я пытаюсь реализовать функцию персонализированного чата с использованием sails.js. Это значит, что в моем приложении есть несколько пользователей, и пользователь может общаться с другим пользователем. Таким образом, если пользователь A отправляет сообщение в чат-ящик пользователя B, B (только) получает и наоборот.

Я прошелhttp://sailsjs.org/#!documentation/sockets Документация по нему приводит примеры использования моделей. Так что я думаю, что это не для чата один на один, а для чего-то вроде списка пользователей и профиля пользователя.

Поэтому я знаю, что для этого мне нужно использовать собственный код socket.io. Мне нужно, чтобы клиент мог открыть сокет для определенного канала, а затем всякий раз, когда пользователь A вводит имя пользователя B, это сообщение сохраняется в БД, а также записывается в сокет. Я не знаю, как получить эту функциональность в Sails.

Я могу написать код в индексном событии MessagesController. Поэтому мне нужно вычислить имя канала на основе данных пользователя A и пользователя B и записать его в сокет для этого канала. Но я не знаю, как записать его в сокет для этого конкретного канала. Я надеюсь, что я ясно с тем, что я хочу. Я нашел этот кусок кода в качестве примера:

//Code For Server
var io = require("socket.io");
io.sockets.on("connection", function (sock) {
    sock.emit("welcomeMessage", { hello: "world" });
}
io.listen(80);

//Code For Client
var sock = io.connect('http://localhost');
sock.on('welcomeMessage', function (json) {
    //Handle Event Received
});

Но это не говорит мне, как мне записать в этот конкретный сокет для канала "welcomeMessage" с любого контроллера, который я хочу. Что-то вроде того, что поддерживает PubNub (http://www.pubnub.com/)

Ответы на вопрос(1)

Ваш ответ на вопрос