Personalisierter Chat mit Sails.js

Gibt es einen Weg in sails.js oder ein Tutorial, der mir hilft, einen Peer-to-Peer-Chat mit Sockets, so etwas wie pubnub, aufzubauen?

Ich versuche, eine personalisierte Chat-Funktion mit sails.js zu implementieren. Das bedeutet, dass ich in meiner Anwendung mehrere Benutzer angegeben habe und ein Benutzer mit einem anderen Benutzer chatten kann. Wenn also Benutzer A eine Nachricht in der Chatbox von Benutzer B sendet, empfängt B (nur) und umgekehrt.

Ich habe durchgemachthttp://sailsjs.org/#!documentation/sockets Die Dokumentation dazu gibt Beispiele anhand der Modelle. Ich denke, es ist nicht für Einzelgespräche gedacht, sondern für Dinge, bei denen sich die Benutzerliste und das Benutzerprofil ändern.

Ich weiß also, dass ich dafür nativen socket.io-Code verwenden muss. Was ich brauche, ist, dass der Client einen Socket für einen bestimmten Kanal öffnen kann, und wann immer Benutzer A Benutzer B eingibt, wird diese Nachricht in der Datenbank gespeichert sowie in den Socket geschrieben. Ich weiß nicht, wie ich diese Funktionalität in Sails bekommen soll.

Ich kann den Code im Indexereignis des MessagesController schreiben. Also müsste ich den Kanalnamen basierend auf den Details von Benutzer A und Benutzer B berechnen und in den Socket für diesen Kanal schreiben. Aber ich weiß nicht, wie ich es für diesen bestimmten Kanal in den Socket schreiben soll. Ich hoffe mir ist klar was ich will. Ich habe diesen Code als Beispiel gefunden:

//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
});

Aber es sagt mir nicht, wie ich von jedem Controller, den ich will, in diesen speziellen Socket für den Kanal "welcomeMessage" schreibe. So etwas wie das, was PubNub unterstützt (http://www.pubnub.com/).

Antworten auf die Frage(1)

Ihre Antwort auf die Frage