Node js - Creating persistent private chat rooms Node js - Creating persistent private chat rooms ajax ajax

Node js - Creating persistent private chat rooms


I'll give you a pseudo implementation relying on jquery and now to abstract away tedious IO and tedious DOM manipulation from the solution.

// Servervar 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);}// Clientvar 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));};

I only just noticed myself that the new version of nowjs (0.5) has the group system in build. This basically does what you want for you. No hassle.

If you want you can remove the nowjs dependency and replace it with 100/200 lines of code. I'll leave that as an exercise for the user.


Take a look at AjaxIM: https://github.com/freq32/AjaxIM

This is a facebook-style chat application (think friends list, small persistent chat bar at the bottom of the screen, popup chats) based on nodejs.