Node.js制作简单聊天室

前端之家收集整理的这篇文章主要介绍了Node.js制作简单聊天室前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

<div class="jb51code">
<pre class="brush:js;">
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',' ');
// 当前<a href="https://www.jb51.cc/tag/zhuce/" target="_blank" class="keywords">注册</a>的昵称不存在
if (!nickname) {
  // <a href="https://www.jb51.cc/tag/yonghuming/" target="_blank" class="keywords">用户名</a>存在
  if(users[data]) {
    conn.write('nickname in use');
    return;
  } else {
    // <a href="https://www.jb51.cc/tag/yonghuming/" target="_blank" class="keywords">用户名</a>给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 这里截取了两个网友

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

原文链接:https://www.f2er.com/nodejs/42583.html

猜你在找的Node.js相关文章