最近我一直在阅读关于bout node js的文章,并且聊天功能看起来非常不错。但是,我看到的唯一聊天示例基本上是将聊天服务器广播到固定的URL(例如 session 室)。是否可以部分使用 Node 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行代码替换。我将其留给用户作为练习。

关于ajax - Node js-创建持久性私有(private)聊天室,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5621642/

10-15 22:23