Я дам вам псевдо-реализацию, опирающуюся на jquery и сейчас , чтобы абстрагироваться от утомительного ввода-вывода и утомительной манипуляции 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 строк кода.Я оставлю это как упражнение для пользователя.