var net=require('net'),
count = 0, //people total
users={};
var server= net.createServer(function(conn){
conn.setEncoding('utf8'); //设置读取的文字编码
var nickname;
conn.write('\n>Welcome to \033[91m node-chat!\033[39m'
+'\n > \033[95m 共有'+count+'\033[39m 用户在线.'
+'\n > 请输入昵称 : '
);
count++; //记录连接终端数
conn.on('data',function(data){
data=data.replace('\r\n','');//删除回车符
if(!nickname){ //判断昵称是否存在
if(users[data]){
conn.write('\033[93m>昵称已经存在,请重试:\033[39m');
return;
}else{
nickname=data;
users[nickname]=conn;
for(var i in users){
users[i].write('\033[90m >'+nickname+' 加入聊天室 \033[39m\n');
}
}
}else{
for(var i in users){
if(i != nickname){
users[i].write('\033[94m> '+nickname+' say: \033[39m'+data+'\n');
}
}
}
});
conn.on('close',function(){
count--;
delete users[nickname]; //删除退出昵称
}); //close connection count--
});
server.listen(3000,function(){
console.log('\033[96m server listening on *:3000\033[39m');
});