加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 02:53:00 所属栏目:百科 来源:网络整理
导读:我最近一直在阅读这么多关于节点的节目,聊天功能看起来非常好.但是,我见过的唯一聊天示例基本上是将聊天服务器广播到固定的URL(如会议室).是否可以使用节点js来创建更像gchat的聊天客户端? – 在当前页面上弹出聊天窗口,然后在多个页面中保留.有没有人见过
我最近一直在阅读这么多关于节点的节目,聊天功能看起来非常好.但是,我见过的唯一聊天示例基本上是将聊天服务器广播到固定的URL(如会议室).是否可以使用节点js来创建更像gchat的聊天客户端? – 在当前页面上弹出聊天窗口,然后在多个页面中保留.有没有人见过这样的例子呢?

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

谢谢.

解决方法

我将依靠 jquery和 now给你一个伪实现,从解决方案中抽象出繁琐的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行代码.我将把它作为用户的练习.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读