节点js – 创build持久的私人聊天室
我最近一直在阅读这么一个回合节点,聊天function似乎很好。 但是,我所看到的唯一聊天示例基本上是将聊天服务器广播到固定的URL(如会议室)。 是否有可能使用节点js来创build更像gchat的聊天客户端? – 在当前页面上popup一个聊天窗口,然后通过多个页面持续。 有没有人看过这个例子呢?
如果没有,build议其他技术用于这个目的(我知道这是在其他问题的答案)?
谢谢。
我会给你一个依靠jQuery的伪实现, 现在从解决scheme中抽象出繁琐的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)已经在构build组系统。 这基本上是你想要的。 没有麻烦。
如果你想要的话,你可以删除nowjs依赖项,并用100/200行代码replace它。 我会把这个留给用户做一个练习。
看看AjaxIM: https : //github.com/freq32/AjaxIM
这是一个基于nodejs的Facebook风格的聊天应用程序(认为朋友列表,在屏幕底部的小持久聊天栏,popup聊天)。
- Access-Control-Allow-Origin不允许源http:// localhost:3000
- 如何使用Node.js从服务器端的AJAX POST函数接收数据?
- 使用XMLHttpRequest标头调用Nodejs Ajax
- 为什么要将数据传递给AJAX请求的“成功”function?
- 如何在Multipart superagent请求中发送一个Object和一个附加文件?
- Chrome没有处理像Firefox,Safari这样的分块响应
- Ajax结果更改Jade赋值variables
- Node.js:发送多个AJAX请求来开始后台作业队列
- 使用Node.JS express和AJAX的JQuery自动完成