Existe-t-il un moyen dans sails.js ou un didacticiel qui pourrait m'aider à créer un chat peer to peer, utilisant des sockets, quelque chose comme pubnub. J'essaye d'implémenter une fonction de chat personnalisée en utilisant sails.js Ce qui veut dire que j'ai plusieurs utilisateurs dans mon application et qu'un utilisateur peut discuter avec un autre utilisateur. Donc, si l'utilisateur A envoie un message dans l'utilisateur B chat, B (seulement) reçoit et vice-versa.Conversation personnalisée avec Sails.js
Je suis passé par http://sailsjs.org/#!documentation/sockets, la documentation par exemple donne des exemples en utilisant les modèles. Donc, je suppose que ce n'est pas pour une discussion en tête-à-tête, mais pour quelque chose comme la liste d'utilisateurs et le profil de l'utilisateur change de genre de choses.
Donc, je sais que j'ai besoin d'utiliser le code socket.io natif pour cela. Ce dont j'ai besoin, c'est que le client puisse ouvrir une socket pour un canal particulier, et chaque fois que l'utilisateur A tape dans l'utilisateur B, ce message est stocké dans la base de données, ainsi que sur le socket. Je ne sais pas comment obtenir cette fonctionnalité dans Sails.
Je peux écrire le code dans l'événement index du MessagesController. J'ai donc besoin de calculer le nom de la chaîne en fonction des détails de l'utilisateur A et de l'utilisateur B et de l'écrire sur le socket pour ce canal. Mais je ne sais pas comment l'écrire sur le socket pour ce canal particulier. J'espère que je suis clair avec ce que je veux. J'ai trouvé ce morceau de code comme exemple:
//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
});
Mais il ne me dit pas, comment puis-je écrire sur cette prise particulière pour le canal « welcomeMessage » de tout contrôleur que je veux. Quelque chose comme ce que supporte PubNub (http://www.pubnub.com/).
J'ai trouvé l'approche suivante, mais elle n'a pas l'air trop propre, aussi c'est purement basé sur socket.io –