您的当前位置:首页正文

Node.js制作简单聊天室的方法

来源:汇意旅游网
这篇文章主要为大家详细介绍了Node.js制作简单聊天室的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

看了TCP的有关知识,写了个基于NET的聊天室。

var net = require('net');

var count = 0,
 users = {};

var server = net.createServer(function (conn) {
 console.log('连接到');
 conn.write(
 "\r\n > welcome to node-chat!"
 + "\r\n > " + count + " other people are connected at this time."
 + "\r\n > please write your name and press enter: "
 );
 count++;
 // 代表当前连接的昵称
 var nickname;
 console.log(conn);
 conn.on('data', function (data) {
 // 删除\r\n
 // data = data.replace('\r\n', ' ');

 // 当前注册的昵称不存在
 if (!nickname) {
 // 用户名存在
 if(users[data]) {
 conn.write('nickname in use');
 return;
 } else {
 // 用户名给nickname
 nickname = data;
 users[nickname] = conn;
 for (var i in users) {
 users[i].write('\r\n > ' + nickname + ' join our room \r\n > I: ');
 }
 }
 } else {
 // 开始聊天
 for (var i in users) {
 if (i != nickname) {
 users[i].write('\r\n > ' + nickname + ': ' + data);

 }
 }
 } 
 });

 conn.on('close', function () {
 count--;
 });
 conn.setEncoding('utf8');


});

server.listen(3000, function () {
 console.log('服务器监听端口3000');
})

运行截图:

终端:

telnet 这里截取了两个网友

显示全文