您的位置:首页 > 理论基础 > 计算机网络

基于TCP的聊天程序(了不起的nodejs chapter6)

2014-08-21 15:04 495 查看
var net = require('net');
var count = 0,
users = {};

var server = net.createServer(function(conn) {
var nickname;

console.log('new Connection');

conn.write(
'> welcome to node-chat \n >'
+ count + ' other people are connected aht this time \n >'
+ 'please write you name and press enter\n'
);
++count;

conn.on('data', function(data) {
data = data.replace('\r\n', '');
if (!nickname) {
if(users[data]) {
conn.write('nickname already in use. try again\n');
return;
} else {
nickname = data;
users[nickname] = conn;

for (var i in users) {
users[i].write(nickname + ' join the room\n');
}
}
} else {
for (var i in users) {
if (i != nickname) {
users[i].write(nickname + ': ' + data + '\n');
}
}
}
console.log(data);
});

conn.setEncoding('utf-8');

conn.on('close', function() {
--count;
delete users[nickname];
});
});

server.listen(3000, function() {
console.log('server listening on 3000');
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: