javascript – 使用Sails.js进行个性化聊天
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 使用Sails.js进行个性化聊天,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2025字,纯文字阅读大概需要3分钟。
内容图文
![javascript – 使用Sails.js进行个性化聊天](/upload/InfoBanner/zyjiaocheng/701/dcd7f7b8c3de4f44ad94805e442c5df6.jpg)
有没有办法在sails.js或教程中帮助我建立一个点对点聊天,使用套接字,比如pubnub.
我正在尝试使用sails.js实现个性化聊天功能
这意味着我在我的应用程序中说了多个用户,用户可以与另一个用户聊天.因此,如果用户A在用户B聊天框中发送消息,则B(仅)接收,反之亦然.
我已经浏览了http://sailsjs.org/#!documentation/sockets,它的文档给出了使用模型的示例.所以我想这不是一对一的聊天,而是像用户列表和用户配置文件这样的东西.
所以我知道我需要使用本机socket.io代码.我需要的是客户端可以为特定通道打开一个套接字,然后每当用户A输入到用户B时,该消息就存储在数据库中,并写在套接字上.我不知道如何在Sails中获得此功能.
我可以在MessagesController的index事件中编写代码.因此,我需要根据用户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/).
解决方法:
你绝对可以使用基于模型的pubsub方法在Sails中进行点对点和群聊.在Sails v0.10(npm install sails @ beta)中更容易,并且在http://github.com/balderdashy/sailsChat处有一个完整的示例.Sails for Sails v0.10是here.
使用v0.10的技巧是使用subscription contexts和message事件的组合,以便只有用户自己订阅他们自己的消息上下文,但是他们订阅了他们在聊天室中的每个人的更新上下文.这样他们只能获得自己的直接消息,但他们会听到他们朋友的更新(即姓名和状态变更).
要将直接消息发送到控制器中的User实例:
User.message(userInstance, msgData);
订阅该实例的消息上下文的任何套接字客户端将接收具有以下数据对象的用户事件:
{
id: [the user ID],
verb: "messaged",
data: [the data in msgData]
}
如果你愿意,你也可以像使用low-level Sails Socket methods一样使用join,leave,broadcast和emit来制作一个更加临时的聊天服务器,但是这样做的Sails方式可以让你利用框架的强大功能!
内容总结
以上是互联网集市为您收集整理的javascript – 使用Sails.js进行个性化聊天全部内容,希望文章能够帮你解决javascript – 使用Sails.js进行个性化聊天所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。