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 这里截取了两个网友

以上就是Node.js制作简单聊天室。俗话说:退一步海阔天空;可俗话又说:狭路相逢勇者胜!做人做事不要太处处逼人,给别人方便就是给自己方便,但是与到欺人太甚的也不要过于谦让,那会让他更嚣张,要有勇有谋,才是真英雄。更多关于Node.js制作简单聊天室请关注haodaima.com其它相关文章!

您可能有感兴趣的文章
Ajax 配合node js multer 实现文件上传功能

nodejs二进制与Buffer的介绍与使用

nodejs中各种加密算法的实现详解

独立部署小程序基于nodejs的服务器过程详解

node中实现删除目录的几种方法