看了tcp的有关知识,写了个基于NET的聊天室。 var net = require('net'); var count = 0, users = {}; var server = net.c
看了tcp的有关知识,写了个基于NET的聊天室。
var net = require('net');
var count = 0,
users = {};
var server = net.createServer(function (conn) {
console.log('连接到');
conn.write(
"rn > welcome to node-chat!"
+ "rn > " + count + " other people are connected at this time."
+ "rn > please write your name and press enter: "
);
count++;
// 代表当前连接的昵称
var nickname;
console.log(conn);
conn.on('data', function (data) {
// 删除rn
// data = data.replace('rn', ' ');
// 当前注册的昵称不存在
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('rn > ' + nickname + ' join our room rn > I: ');
}
}
} else {
// 开始聊天
for (var i in users) {
if (i != nickname) {
users[i].write('rn > ' + nickname + ': ' + data);
}
}
}
});
conn.on('close', function () {
count--;
});
conn.setEncoding('utf8');
});
server.listen(3000, function () {
console.log('服务器监听端口3000');
})
运行截图:
终端:
telnet 这里截取了两个网友
--结束END--
本文标题: Node.js制作简单聊天室
本文链接: https://www.lsjlt.com/news/12819.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2022-06-04
2022-06-04
2022-06-04
2022-06-04
2022-06-04
2022-06-04
2022-06-04
2022-06-04
2022-06-04
2022-06-04
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0