微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ajax – Node js – 创建持久的私人聊天室

我最近一直在阅读这么多关于节点的节目,聊天功能看起来非常好.但是,我见过的唯一聊天示例基本上是将聊天服务器广播到固定的URL(如会议室).是否可以使用节点js来创建更像gchat的聊天客户端? – 在当前页面上弹出聊天窗口,然后在多个页面中保留.有没有人见过这样的例子呢?

如果没有,建议其他技术用于此目的(我知道其他问题已得到解答)?

谢谢.

解决方法

我将依靠 jquerynow给你一个伪实现,从解决方案中抽象出繁琐的IO和乏味的DOM操作.

// Server

var Nowjs = require('Now');
var everyone = Nowjs.initialize(httpServer);

everyone.Now.joinRoom = function(room) {
    Nowjs.getGroup(room).addUser(this.user.clientId);
}

everyone.Now.leaveRoom = function(room) {
    Nowjs.getGroup(room).removeUser(this.user.clientId);
}

everyone.Now.messageRoom = function(room,message) {
    Nowjs.getGroup(room).Now.message(message);
}

// Client

var currRoom = "";

$(".join").click(function() {
    currRoom = ...
    Now.joinRoom(currRoom);
});

$(".send").click(function() {
    var input = ...
    Now.messageRoom(currRoom,input.text());
});

Now.messageRoom = function(message) {
    $("messages").append($("<div></div>").text(message));
};

我只是注意到我自己的新版本的Nowjs(0.5)在构建中有组系统.这基本上可以满足您的需求.没有麻烦.

如果需要,可以删除Nowjs依赖项并将其替换为100/200行代码.我将把它作为用户的练习.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐